Datenbankframeworks in der Cloud Seminar “Datenbankanwendungen im Cloud Computing” Referent: Markus Oelsner Datum: 29.06.2010 Betreuerin: Jutta Mülle SOFTWARE DESIGN AND QUALITY GROUP INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS KIT – University of the State of Baden-Wuerttemberg and National Research Center of the Helmholtz Association www.kit.edu Motivation Datenmenge drastisch gestiegen Probleme bei traditionellen Datenbanken Anforderungen: Starke Flexibilität Hohe Anwendbarkeit Hohe Leistungsfähigkeit Skalierbarkeit Hohe Verfügbarkeit Lösung: verteilte Datenbanksysteme 2 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization Datenbankframeworks in der Cloud 1. Google BigTable 2. Amazon (3 Angebote) 3. Apache Hadoop HBase 3 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 4 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Verteiltes Datenbanksystem für sehr große Datenmengen (Petabytes) Kein offizielles Cloud Service Angebot Nutzung: 5 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable „A Bigtable is a sparse, distributed, persistent, multi-dimensional sorted map“ Bigtable: A Distributed Storage System for Structured Data Fay Chang, Jeffrey Dean, Sanjay Gehmawat, usw Daten werden über Zeilen- und Spaltenindizes abgelegt 6 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Zeilen: Strings mit maximaler Länge von 64 kB Lexikographische Sortierung Dynamische Unterteilen der Tabelle in Bereiche -> Tablets 7 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Spalten: Gruppierung in Spaltenfamilie family:qualifier (beide strings) Zugangskontrolle und Speicherung als Spaltenfamilien 8 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Zeitstempel: Verschiedene Versionen der Zellen 64 Bit Integer Einzigartigkeit Automatisches Löschen der Versionen 9 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Tablets enthalten zusammenhängende Bereiche ca. 100 MB pro Tablet ca. 100 Tablets pro Server -> Lastbalancierung -> schnelle Recovery-Durchführung 10 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Tablet-Verhalten Wird in GFS gespeichert Dateiformat SSTable Änderungen werden in Memtable gespeichert Ältere Updates in SSTable Minor Compaction Memtable SSTable Major Compaction alle SSTables + Memtable eine SSTable 11 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Implementierung Ein Master-Server und viele Tablet-Server Master-Server Zuweisung von Tablets zu Tablet-Servern Load-Balancing Steuert Erzeugung und Änderung der Tabellen und Spalten Tablet-Server Verwaltet Menge von Tablets Dynamisches Hinzufügen oder Entfernen im Cluster verarbeitet Lese- und Schreibanfragen Splittet Tablets 12 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable 3-Stufen-Hierarchie Wurzel Tablett Verweis auf Metadaten Tablets In Chubby File Nicht teilbar Metadaten Tablet Verweis auf BenutzerTablets User Tablets 13 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 1. Google BigTable Funktionen und Schnittstellen: Unterstützt keine gewöhnliche SQL Sprache Bietet Funktionen zum Erstellen, Ändern und Löschen von Tabellen, Spaltenfamilien und Metadaten Noch weitere komplexe Features Abfrage für App Engine: GQL Query Class Query Class 14 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 15 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 2. Amazon 16 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 2. Amazon Verschiedene Angebote um Datenbank bei Amazon zu betreiben 1. Amazon Simple DB 2. Amazon RDS 3. Relationale Datenbank in Amazon EC2 17 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 2. Amazon 3.1. Amazon Simple DB Einfach strukturiert Hoch zuverlässig Keine relationale Datenbank Skalierbar Schnell Flexibel Kompatibel mit anderen AWS Für Speicherung kleiner Datenmengen Erschwinglich 18 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 2. Amazon 3.2. Amazon RDS Einfach bereitzustellen Relationale Datenbank Bietet Zugriff auf MySQL Schnittstelle Skalierbar Zuverlässig Kompatibel mit anderen AWS erschwinglich 19 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 2. Amazon 3.3. Relationale Datenbank in Amazon EC2 Eigene Relationale Datenbank für eigene Anforderungen Wird auf Amazon EC2 ausgeführt und auf Amazon EBS gespeichert Vollen Zugriff auf verschiedene APIs wie MySQL, Oracle, Postgre SQL, Sybase, MicrosoftSQL, IBM DB2 20 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 21 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 3. Apache Hadoop HBase Open Source-Plattform Programmiersprache: Java Eigenschaften, Architektur und Implementierung sehr ähnlich zu BigTable 22 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization 3. Apache Hadoop HBase Unterschiede zu BigTable: Andere Terminologien verwendet kein Chubby Lock Service HDFS Speicherung anstatt GFS Speicherung der Tablets/Regions anders Mehrere Schnittstellen: Java API, Thrift Server, REST Server, C++ Bibliothek, HBase Shell Keine Zugriffskontrollen für Spaltenfamilien Größere Tablets/Regionen 23 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization Zusammenfassung Es gibt viele verschiedene Angebote, man muss Sie nur nach seinen derzeitigen und seinen künftigen Anforderungen auswählen. 24 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization Vielen Dank für Ihre Aufmerksamkeit! 25 09.04.2015 Markus Oelsner – Datenbankframeworks in der Cloud Software Design and Quality Group Institute for Program Structures and Data Organization