Das Kernziel der neueren NoSQL Bewegung besteht darin, Web-Scale-Datenbanken, also Datenbanken für die ungeheuren Datenmengen des Web 2.0 Zeitalters im Tera- bzw. Petabyte Bereich, zu entwickeln. Wenn solch große Datenmengen verarbeitet werden müssen, ist es von Vorteil wenn die Datenbank im Vornhinein auf Skalierung ausgerichtet ist. Eine weitere Anforderung bezieht sich auf die Verfügbarkeit der Daten in einem verteilten System. Es muss gewährleistet werden, dass bei Teilausfällen von einigen Knoten, das System als Ganzes noch lauffähig bleibt.
Das zweite Kapitel des Artikels soll eine Einordnung und Kategorisierung der unterschiedlichen Datenbankmodelle ermöglichen. In der dritten Sektion werden die grundlegenden Eigenschaften des Datenmodells von spaltenorientierten Datenbanken, die die Grundlage von Wide Column Stores bilden, behandelt. Im vierten Kapitel wird Google’s Bigtable, ein bestehendes Wide Column Store System analysiert. Im Speziellen werden das Datenmodell, die Infrastruktur und die Implementierung von Bigtable behandelt. Eingebettet in dieses Kapitel ist auch ein Performancevergleich zwischen verteilten Datenbanken. Im letzten Kapitel werden die Kernaussagen des Artikels zusammengefasst und offene Problemstellungen bzw. zukünftige Entwicklungen behandelt.
Inhaltsverzeichnis
I. EINLEITUNG
II. NOSQL DATENBANKEN
A. Einordnung in die Datenbankwelt
B. Kategorien der Kernsysteme
1) Key/Value Stores
2) Document Stores
3) Graphdatenbanken
4) Wide Column Stores
C. Theoretische Konzepte
1) CAP Theorem
2) ACID vs. BASE
3) Multiversion-Concurrency-Control
III. SPALTENORIENTIERTE DATENBANKEN
A. Datenmodell
1) Attribute mit mehreren Werten
2) Heterogene Einträge
3) Attribute mit mehreren Beziehungen
4) Verknüpfung von Relationen
5) Spaltenorientierte Abfrage-Ausführung
B. Optimierungsmöglichkeiten
1) Kompression
2) Späte Materialisierung
3) Blockiteration
IV. WIDE COLUMN STORES: GOOGLE’S BIGTABLE
A. Datenmodell
1) Zeilen
2) Spalten
3) Zeitstempel
B. Programmierschnittstellen
C. Physische Speicherung
1) Google File System
2) Sorted String Table
3) Chubby Lock Service
D. Implementierung
1) Standort von Tablets
2) Tablet Zuordnung
3) Zugriff auf Tablets
4) Verdichtung
5) Schema Management
E. Reale Anwendungen
1) Google Analytics
2) Google Earth
3) Personalisierte Suche
F. Performance Evaluation
1) Benchmarks
2) Ergebnisse
G. Verwendete Techniken und Algorithmen
1) Kompression
2) Map/Reduce
3) Paxos Protokoll
4) Bloomfilter
H. Performancevergleich
1) Vergleichsebenen
2) Ergebnisse
V. ZUSAMMENFASSUNG UND AUSBLICK
Zielsetzung & Themen
Das Hauptziel dieser Arbeit ist die Untersuchung von Wide Column Stores als Unterkategorie der NoSQL-Datenbanken, wobei ein besonderer Fokus auf der Architektur, Funktionsweise und Skalierbarkeit von Googles Bigtable liegt. Es wird analysiert, wie diese Systeme die Anforderungen moderner Web-2.0-Anwendungen erfüllen, die mit extrem hohen Datenvolumina und verteilten Umgebungen konfrontiert sind.
- Grundlagen der NoSQL-Bewegung und Einordnung verschiedener Datenbankmodelle.
- Vertiefende Betrachtung der spaltenorientierten Datenorganisation und deren Performancevorteile.
- Detaillierte Analyse von Googles Bigtable (Datenmodell, Infrastruktur, Implementierung).
- Untersuchung kritischer Komponenten wie Google File System, Chubby Lock Service und Map/Reduce.
- Leistungsvergleich verteilter Datenbanken mittels Benchmarks und Skalierungsanalysen.
Auszug aus dem Buch
1) CAP Theorem
Konsistenz(Consistency): steht im Theorem dafür, dass die Daten nach Beenden einer Transaktion einen konsistenten Zustand erreichen. Bei verteilten Systemen bedeutet dies, dass alle Replikationen eines veränderten Datensatzes aktualisiert werden müssen. Dies kann bei Systemen mit vielen Clustern die Reaktionszeit enorm erhöhen.
Verfügbarkeit(Availability): bezeichnet die akzeptable Reaktionszeit, die von System zu System variieren kann. Wenn eine Transaktion beispielsweise im E-Commerce Bereich zu lange dauert, kann dies zu Umsatzeinbußen führen.
Ausfalltoleranz(Partition Tolerance): in Webanwendungen stehen Ausfälle eines einzelnen Knotens an der Tagesordnung. Das Ziel ist, dass bei einem Ausfall eines Knotens nicht gleich das ganze System ausfällt, sondern weiter auf Anfragen von außen reagiert werden kann.[1]
Erik Brewer konnte mit seinem Theorem beweisen, dass in einem verteilten Datenbanksystem immer nur zwei dieser drei Größen gleichzeitig erreicht werden können. Ein kurzes Szenario soll diese Aussage verständlicher machen.
Zusammenfassung der Kapitel
I. EINLEITUNG: Einführung in die NoSQL-Bewegung zur Bewältigung der massiven Datenmengen im Web 2.0-Zeitalter und Vorstellung der Schwerpunkte dieser Arbeit.
II. NOSQL DATENBANKEN: Definition und Einordnung von NoSQL-Datenbanken, Abgrenzung zu relationalen Systemen sowie Vorstellung der vier Kernkategorien und theoretischer Konzepte wie CAP und ACID vs. BASE.
III. SPALTENORIENTIERTE DATENBANKEN: Erläuterung der spaltenorientierten Datenorganisation, deren Vorteile bei großen Datenmengen und Optimierungstechniken wie Kompression und späte Materialisierung.
IV. WIDE COLUMN STORES: GOOGLE’S BIGTABLE: Detaillierte technische Analyse von Googles Bigtable, seiner Architektur, der Zusammenarbeit mit GFS und Chubby sowie praktische Anwendungen und Performance-Evaluierungen.
V. ZUSAMMENFASSUNG UND AUSBLICK: Zusammenfassung der Kernaussagen über die Bedeutung von NoSQL-Systemen und ein Ausblick auf künftige Entwicklungen im Bereich hybrider Datenbanksysteme.
Schlüsselwörter
NoSQL, Datenbanken, Bigtable, Wide Column Stores, BASE, Map/Reduce Framework, CAP, spaltenorientierte Datenorganisation, DSM, Paxos, Bloomfilter, Skalierbarkeit, verteilte Systeme, Performance, ACID.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Kategorie der Wide Column Stores innerhalb der NoSQL-Datenbanken und untersucht, wie diese speziell für Web-Scale-Anwendungen konzipiert sind.
Was sind die zentralen Themenfelder der Publikation?
Die zentralen Themen umfassen die Architektur von NoSQL-Datenbanken, spaltenorientierte Speichermodelle, das CAP-Theorem, Konsistenzmodelle (ACID vs. BASE) sowie die detaillierte Analyse von Googles Bigtable.
Was ist das primäre Ziel oder die Forschungsfrage?
Das Ziel ist es, die Funktionsweise von Wide Column Stores zu erläutern und aufzuzeigen, wie sie im Vergleich zu relationalen Systemen große Datenmengen in verteilten Umgebungen effizient verwalten und skalieren.
Welche wissenschaftliche Methode wird verwendet?
Die Arbeit stützt sich auf eine tiefgehende Literaturanalyse sowie die Untersuchung technischer Dokumentationen und Benchmarks (wie YCSB), um die Performance und Architektur von Systemen wie Bigtable, Cassandra und HBase zu bewerten.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil behandelt theoretische Konzepte verteilter Systeme, die spezifische Datenstruktur spaltenorientierter Datenbanken sowie die Komponenten und Implementierungsdetails von Google Bigtable inklusive Performance-Evaluierungen.
Welche Schlüsselwörter charakterisieren die Arbeit?
Die wichtigsten Begriffe sind NoSQL, Bigtable, Wide Column Stores, Map/Reduce, CAP-Theorem, spaltenorientierte Datenorganisation und Performance.
Welche Rolle spielt Bigtable innerhalb dieser Untersuchung?
Bigtable dient als primäres Paradebeispiel für die Klasse der Wide Column Stores, an dem die Architektur verteilter Speichersysteme in der Praxis detailliert aufgezeigt wird.
Wie unterscheidet sich Bigtable von klassischen relationalen Datenbanken?
Bigtable ist nicht relational, auf horizontale Skalierbarkeit ausgelegt, setzt auf BASE-Konsistenz statt ACID-Garantien und nutzt eine spezifische spaltenorientierte Datenstruktur für extrem große Datenmengen.
Was ist die Bedeutung von Bloomfiltern im Bigtable-Kontext?
Bloomfilter werden eingesetzt, um die Anzahl der Plattenzugriffe bei Leseanfragen massiv zu reduzieren, indem vorab effizient geprüft wird, ob ein Datenfragment in einer bestimmten SSTable vorhanden sein könnte.
Wie trägt der Chubby Lock Service zur Stabilität von Bigtable bei?
Chubby dient als hochverfügbarer Koordinationsdienst, der Master-Server wählt, Bigtable-Schemata speichert und die Standorte von Tablet-Servern verwaltet, wodurch eine zentrale Komponente für die Konsistenz und Ausfallsicherheit geschaffen wird.
- Quote paper
- Mario Götzner (Author), 2011, NoSQL Datenbanken. Wide Column Stores, Munich, GRIN Verlag, https://www.grin.com/document/460798