1. Google BigTable

advertisement
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
Herunterladen