Architectures for Elastic Database Services



Ähnliche Dokumente
Efficient Design Space Exploration for Embedded Systems

Security Patterns. Benny Clauss. Sicherheit in der Softwareentwicklung WS 07/08

Cloud Architektur Workshop

Microsoft Azure Fundamentals MOC 10979

Group and Session Management for Collaborative Applications

Der Begriff Cloud. Eine Spurensuche. Patric Hafner geops

Test zur Bereitschaft für die Cloud

Diss. ETH No SCALABLE SYSTEMS FOR DATA ANALYTICS AND INTEGRATION. A dissertation submitted to ETH ZURICH. for the degree of. Doctor of Sciences

Jetzt von 7-Mode nach cdot migrieren!

Installation SQL- Server 2012 Single Node

Cnlab / CSI Herbsttagung 2014 WAS IST CLOUD UND WAS NICHT?

Windows Server 2012 R2 Essentials & Hyper-V

Stammdaten Auftragserfassung Produktionsbearbeitung Bestellwesen Cloud Computing

arlanis Software AG SOA Architektonische und technische Grundlagen Andreas Holubek

THE KNOWLEDGE PEOPLE. CompanyFlyer.indd :48:05

Preisliste für The Unscrambler X


IT-Governance und Social, Mobile und Cloud Computing: Ein Management Framework... Bachelorarbeit

CERTIFIED FINANCIAL ENGINEER (CFE) EDUCATION IS THE KEY

SALSAH eine virtuelle Forschungsumgebung für die Geisteswissenschaften

Java Enterprise Architekturen Willkommen in der Realität

Cloud Computing Erfahrungen eines Anbieters aus der Interaktion mit seinen Kunden und der Marktentwicklung

Der beste Plan für Office 365 Archivierung.

Daten haben wir reichlich! The unbelievable Machine Company 1

IT OUTSOURCING. Wie die IT durch Transparenz zum internen Dienstleister wird. Herford, , Steffen Müter

Der Support für Windows Server 2003 endet endgültig alles was Ihnen dann noch bleibt ist diese Broschüre.

HiOPC Hirschmann Netzmanagement. Anforderungsformular für eine Lizenz. Order form for a license

Dominik Stockem Datenschutzbeauftragter Microsoft Deutschland GmbH

I N F O R M A T I O N V I R T U A L I S I E R U N G. Wir schützen Ihre Unternehmenswerte

Data. Guido Oswald Solution Switzerland. make connections share ideas be inspired


Erfassung von Umgebungskontext und Kontextmanagement

Der Cloud Point of Purchase. EuroCloud Conference, 18. Mai 2011 (Christoph Streit, CTO & Co-Founder ScaleUp)"

SystemHaus. Der DELL-Partner für Unternehmen in der StädteRegion Aachen und den Kreisen Düren, Heinsberg und Euskirchen

Persönliche Einladung. Zur IT Managers Lounge am 4. November 2009 in Köln, Hotel im Wasserturm.

Windows Azure Ihre Plattform für professionelles Cloud Computing

XING und LinkedIn-Integration in das erecruiter-bewerberportal

SEP 114. Design by Contract

OERA OpenEdge Reference Architecture. Mike Fechner PUG Infotag 19. Mai 05 Frankfurt

Wie Amazon mit Hilfe von Technologie und Daten erfolgreich ist Startup Firmen in Deutschland und weltweit haben Agilität, Innovation und globale

Open Source als de-facto Standard bei Swisscom Cloud Services

Architectures for elastic database services

Zugriff auf Unternehmensdaten über Mobilgeräte

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

PostgreSQL in großen Installationen

RT Request Tracker. Benutzerhandbuch V2.0. Inhalte

MANAGEMENT AND FEDERATION OF STREAM PROCESSING APPLICATIONS

IBM Spectrum Protect (TSM Family) Strategy and Directions

Big Data Projekte richtig managen!

Die neuen Cloud-Zertifizierungen nach ISO und ISO DI Herfried Geyer Fachhochschule St. Pölten, CIS-Auditor

Seminar Security in Cloud Computing

ORM & OLAP. Object-oriented Enterprise Application Programming Model for In-Memory Databases. Sebastian Oergel

Understanding and Improving Collaboration in Distributed Software Development

Tipps und Tricks zu Netop Vision und Vision Pro

Künstliches binäres Neuron

Virtual Roundtable: Business Intelligence - Trends

SEMINAR Modifikation für die Nutzung des Community Builders

Agiles Design. Dr.-Ing. Uwe Doetzkies Gesellschaft für Informatik mail:

Transaktionsverwaltung

Das neue Volume-Flag S (Scannen erforderlich)

Schriftenreihe des Fachbereiches Wirtschaft Sankt Augustin

Donato Quaresima Matthias Hirsch

Man liest sich: POP3/IMAP

Infrastructure as a Service (IaaS) Solutions for Online Game Service Provision

Marketing-Leitfaden zum. Evoko Room Manager. Touch. Schedule. Meet.

EMC. Data Lake Foundation

Modul 6 Virtuelle Private Netze (VPNs) und Tunneling

Updatehinweise für die Version forma 5.5.5

Die Umsetzung der BRK in Bund und Kantonen

Vorstellung Studienprojekt. Policy4TOSCA. Umsetzung eines Policy-Frameworks für sicheres und energieeffizientes Cloud Computing

1 Einleitung. Lernziele. Symbolleiste für den Schnellzugriff anpassen. Notizenseiten drucken. eine Präsentation abwärtskompatibel speichern

Windows Server 2008 (R2): Anwendungsplattform

Sicherheits-Tipps für Cloud-Worker

Evaluation of Investments in Multi-Carrier Energy Systems under Uncertainty

Content Management System mit INTREXX 2002.

Mythen des Cloud Computing

bruederlinpartner «Nearshoring auf höchstem Niveau!»

NEWSLETTER // AUGUST 2015

EMV und Medizinprodukte

Integration mit. Wie AristaFlow Sie in Ihrem Unternehmen unterstützen kann, zeigen wir Ihnen am nachfolgenden Beispiel einer Support-Anfrage.

Ressourcen und Architektur Resources and Architecture

Optimal Energy Management and Component Sizing of a Stand-Alone Building Energy System

INTERXION Rechenzentrum & Cloud. Volker Ludwig Sales Director

Gemeinsam mehr erreichen.

Leistungsstarke Enterprise Apps. Für Menschen erdacht. Für Veränderungen entwickelt.

Kapitel 1 Applikations-Architektur VI

Get ready for the Cloud. Ein limitiertes Angebot für bestehende und zukünftige IAMCP-Mitglieder.

Business Continuity and Recovery Services, BCRS

Konzept zur Push Notification/GCM für das LP System (vormals BDS System)

Ways and methods to secure customer satisfaction at the example of a building subcontractor


Installation der SAS Foundation Software auf Windows

creative Factory GmbH

Inhalt. 1 Übersicht. 2 Anwendungsbeispiele. 3 Einsatzgebiete. 4 Systemanforderungen. 5 Lizenzierung. 6 Installation. 7 Key Features.

Wie Hotels gegen booking.com & Co. online bestehen können. Jörg NetBusiness Consulting AG

Project Business Excellence Critical Chain Project Management (CCPM)

Code wiederverwenden: Objektorientierte Programmierung (OOP) sinnvoll nutzen Roland Wagner Automatisierungstreff IT & Automation 2015

Universität Zürich Informatikdienste. SpamAssassin. Spam Assassin Go Koordinatorenmeeting 27. April

conuno - WIR GESTALTEN FÜR SIE Development Services

Transkript:

DISS. ETH NO. 22441 Architectures for Elastic Database Services A thesis submitted to attain the degree of DOCTOR OF SCIENCES of ETH ZURICH (Dr. sc. ETH Zurich) presented by SIMON MANFRED LOESING M. sc. in Computer Science, ETH Zurich born on 21.02.1982 citizen of Germany accepted on the recommendation of Prof. Dr. Donald Kossmann (ETH Zurich), examiner Prof. Dr. Gustavo Alonso (ETH Zurich), co-examiner Prof. Dr. Alfons Kemper (TU Munich), co-examiner 2015

Abstract The emergence of cloud technologies has caused a profound disruption in the market for data management systems. The access to (virtually) unlimited computing resources has considerably changed the requirements towards data processing and storage systems. Specifically, properties such as scalability, elasticity, cost-efficiency, and ease of deployment are increasingly becoming critical success factors for many businesses. In response to these new demands, traditional relational database systems have been challenged by various new large-scale data services as well as alternative storage systems. This trend has resulted in a jungle of heterogeneous data processing solutions all providing different features and guarantees. This dissertation aims at understanding the limits and the trade-offs in providing traditional database features in the context of cloud computing. To explore the design space, we assess alternative architectures for distributed transaction processing and highlight key options with regard to scalability, flexibility, and robustness. In particular, we examine what architectural properties are required in order to meet the requirements of dynamic cloud environments. Our analysis is extended by a comprehensive evaluation of existing commercial cloud services that have adopted these architectures. To that end, we have developed a new benchmarking methodology that takes into account the specific characteristics of cloud data services. That is, we validate if the promises of unlimited throughput and reduced cost can be fulfilled. The results are surprising in several ways. Most importantly, it seems that all major vendors have adopted a different architecture for their services. As a result, the cost and performance vary significantly depending on the workload. The limitations of current cloud data processing solutions with regard to database workloads motivated the development of a new system: Tell. Tell is a distributed relational database designed for scalable and elastic transaction processing. It implements an architecture design based on two principles: We decouple query processing and transaction i

management from data storage, and we share data across query processing nodes. The combination of these design choices enables elasticity and is the foundation for cost-efficient database infrastructures. Moreover, the separation of concerns allows for mixed workloads. That is, transactional and analytical workloads can be performed simultaneously on separate processing nodes but accessing a single, shared copy of the data. As a drawback, sharing data among multiple database nodes causes substantial synchronization overhead. To overcome this limitation, we present techniques for scalable transaction processing in shared-data environments. Specifically, we provide mechanisms for efficient data access, concurrency control, and data buffering. The implementation of these techniques is facilitated by new hardware trends and provides scalable OLTP performance. Architectures that share data have been adopted by several data management systems in the past. A prominent example is Apache Hadoop. Although these systems are widely used, performing database transactions on shared data has not been a main focus as of yet. To bridge this gap, we provide an in-depth evaluation of alternative concurrency control mechanisms for shared-data systems, such as Tell. We adapt established techniques such as snapshot isolation, timestamp ordering, and locking to operate in a distributed environment on top of a shared store. Each technique is designed to minimize synchronization overhead while providing full ACID (Atomicity, Consistency, Isolation, Durability) semantics. Tell is used as a reference system to implement and evaluate the alternative approaches. This dissertation contributes to our scientific understanding of how to build elastic distributed database services for cloud infrastructures. It provides an essential piece in the puzzle of developing next generation data processing solutions. ii

Zusammenfassung Die Verbreitung von Cloud-Technologien hat weitreichende Veränderungen im Markt für Datenverarbeitungssysteme ausgelöst. Der Zugriff auf (praktisch) unbegrenzte Rechenressourcen hat die Anforderungen in Bezug auf Datenverarbeitungs- und Speichersysteme massgeblich verändert. Eigenschaften wie Skalierbarkeit, Elastizität, Kosteneffizienz und einfaches Installieren werden zunehmend kritische Erfolgsfaktoren für viele Unternehmen. Als Reaktion auf diese neuen Bedürfnisse wurden traditionelle, relationale Datenbanksysteme von neuen Datendiensten und alternativen Speichersystemen herausgefordert. Diese Entwicklung hat zu einem regelrechten Dschungel von heterogenen Datenverarbeitungssystem geführt, welche alle unterschiedliche Funktionen und Garantien bereitstellen. Diese Dissertation möchte verstehen, inwieweit Abstriche bzw. Kompromisse bei der Umsetzung von klassischen Datenbankfunktionen im Kontext von Cloud Computing erforderlich sind. Um die Entwurfsmöglichkeiten zu erkunden, bewerten wir alternative Architekturen für verteilte Transaktionsverarbeitung und heben Schlüsseloptionen in Bezug auf Skalierbarkeit, Flexibilität und Robustheit hervor. Im Einzelnen untersuchen wir, welche Architektureigenschaften notwendig sind, um die Anforderungen von dynamischen Cloud- Umgebungen zu erfüllen. Unsere Analyse wird durch eine umfassende Evaluierung von bestehenden, kommerziellen Cloud-Diensten abgerundet, welche diese Architekturen übernommen haben. Zu diesem Zweck schlagen wir eine neue Mess-Methodik vor, welche die spezifischen Eigenschaften von Cloud-Datendiensten einbezieht. Das heisst, wir überprüfen, ob das Versprechen von unbegrenzter Durchsatzrate und reduzierten Kosten erfüllt werden kann. Die Ergebnisse sind in vielerlei Hinsicht überraschend. Allem voran scheint es, als hätten alle Betreiber eine andere Architektur für ihre Dienste verwendet. Dementsprechend variieren Kosten und Leistung massgeblich bei unterschiedlicher Last. Die Grenzen bestehender Cloud-Datenverarbeitungslösungen in Bezug auf Datenbankanfragen hat die Entwicklung eines neuen Systems angeregt: Tell. Tell ist eine verteilte, reiii

lationale Datenbank, entworfen mit dem Ziel skalierbarer und elastischer Transaktionsverarbeitung. Die neue Systemarchitektur basiert auf zwei Prinzipien: Wir entkoppeln Anfrageverarbeitung und Transaktionsverwaltung von Datenspeicherung, und wir teilen die Daten über alle Anfrageverarbeitungsknoten. Die Kombination dieser Entwurfsentscheidungen ermöglicht elastische Datenbanken und ist die Grundlage für kosteneffiziente Datenbankinfrastrukturen. Desweiteren ermöglicht die Trennung der Belange die Ausführung unterschiedlicher Datenbanklasten. Das heisst, sowohl transaktionale als auch analytische Anfragen können gleichzeitig auf unterschiedlichen Verarbeitungsknoten ausgeführt werden, greifen aber auf die geteilte Kopie der Daten zu. Ein Nachteil der Teilung von Daten über mehrere Knoten sind die beträchtlichen Synchronisationskosten. Um diese Einschränkung zu umgehen, präsentieren wir Techniken für die skalierbare Transaktionsverarbeitung in shared-data -Umgebungen. Im Einzelnen stellen wir Mechanismen für den effizienten Datenzugriff, die Steuerung der Gleichzeitigkeit und der Datenpufferung vor. Die Implementierung dieser Techniken wird durch neue Hardwareentwicklungen gefördert und ermöglicht Leistungscharakteristiken, welche moderne, verteilte Datenbanken übertreffen. Architekturen die Daten teilen, wurden in der Vergangenheit von mehreren Datenverarbeitungssystemen angenommen. Ein bekanntes Beispiel ist Apache Hadoop. Obwohl solche Systeme weit verbreitet sind, hat das Ausführen von Datenbanktransaktionen über geteilte Daten noch keine grosse Aufmerksamkeit erlangt. Um diese Lücke zu schliessen, evaluieren wir alternative Mechanismen zur Steuerung der Gleichzeitigkeit für shareddata -Systeme wie Tell. Wir passen bewährte Techniken wie Snapshot Isolation, Timestamp Ordering und Locking an, um in einer verteilten Umgebung auf einem geteilten Speicher zu arbeiten. Jede Technik wurde entworfen, um den Synchronisationsaufwand zu minimieren, während gleichzeitig die ACID-Eigenschaften (Atomarität, Konsistenz, Isolation, Dauerhaftigkeit) vollumfänglich gewährleistet werden. Tell wird als Referenzsystem benutzt, um die Verfahren zu implementieren und zu evaluieren. Diese Dissertation trägt zu unserem wissenschaftlichen Verständnis bei, wie man elastisch verteilte Datenbankdienste für Cloud-Infrastrukturen baut. Sie liefert ein zentrales Element im Puzzle der Entwicklung der nächsten Generation von Datenverarbeitungslösungen. iv