Spaltenorientierte Datenbanksysteme

Die Struktur einer Spalte
Struktur einer Spalte

Was sind die spaltenorientierte Datenbanksysteme?

Spaltenorientierte Datenbanksysteme, auch Wide Column Stores gennant, speichern, im Gegensatz zu den traditionellen relationalen Datenbanken, Daten mehrerer Einträge in Spalten anstatt in Zeilen. Jeder Eintrag besteht aus dem Namen der Spalte, den Daten und einem Zeitstempel (timestamp) (Abbildung "Struktur einer Spalte").

Spalten mit ähnlichen oder verwandten Inhalten, schaffen die sogenannten „Column Family“, die in Analogie zu den relationalen Datenbanken eine Tabelle ist. Es gibt keine logische Struktur in der Column Family. Es kann aus Tausenden oder sogar aus Millionen von Spalten bestehen, deswegen werden sie auch Wide Columns gennant (Abbildung "Column Family").

Diese Anordnung der Spalten hat mehrere Vorteile. Während des Leseprozesses von Daten, werden keine unnötigen Informationen gelesen, stattdessen nur diejenigen, die ausgesucht wurden den Lesezugriff zu beschleunigen. Der Schreibprozess ist ebenso schnell, wenn es um eine einzelne Spalte geht (in der Regel ein disk-seek).

Column Family
Column Family

Einer der Nachteile der Wide Column Stores ist, wenn es nötig ist, eine Vielzahl von Daten zu schreiben, die aus mehreren Spalten (die entsprechende Zeileneintrag in den relationalen Datenbanken) bestehen. In diesem Fall, muss auf alle relevanten Spalten zugegriffen werden, etwas das den Schreibvorgang verlangsamt.

Wieso Spaltenorientiert?

Mit der Explosion des Internets am Ende des letzten Jahrhundert, wurde das Volumen der digitalen Daten, die wir täglich erstellen und nutzen, ebenfalls in die Höhe geschossen. In einer Veröffentlichung des IDC (Interantional Data Corporation), welches das erwartete Wachstum der digitalen Daten, die wir als Menschheit in einem Jahr erstellen, vorhersagt, wurde bekannt gegeben, dass im Jahr 2007 das Datenvolumen 281 Exabyte oder 281 Milliarden Gigabyte erreichte, nicht so beängstigend, wenn man berücksichtigt, dass bis Ende des Jahres 2011 die Zahl verzehnfacht wird, und am Ende des nächsten Jahrzehntens 35 Zettabyte erreichen wird (Abbildung 3).


Die Explosion des digitalen Universums (Quelle: IDC - Digital Universe Study, May 2010)

Alle diese Informationen bestehen aus Bildern, Sounds, Videos, Texte, Bücher, von denen einige neu und direkt in der digitalen Welt geschaffen sind, oder ältere analoge Versionen, die im digitalen Form gespeichert werden, um unverändert über längere Zeit bleiben zu können.

Unmittelbar ergibt sich die Notwendigkeit alle diese unstrukturierten Daten / Informationen zu verwalten, d.h. neue Wege für Speicherung, Suche, Schutz, Sicherheit und Überwachung zu finden. Und, weil es sich um unstrukturierte Daten handelt, bieten traditionelle relationale Datenbanken wenig um das Problem zu lösen.

Es ist offensichtlich, dass je mehr die zunehmende Menge von Daten erhöht wird, desto mehr sich die Auslastung des Systems erhöht; deshalb ist es schwierig die Anforderungen einer Anwendung zu bewältigen. Eine Lösung, die von der relationalen Datenbanken angeboten wird um dieses Problem zu beseitigen (die in der Regel die beste Wahl ist), ist die vertikale Skalierung, d.h. das Hinzufügen weiterer Prozessoren, mehr Speicher und schnellere und größere Festplatten, die offenbar eine obere Schranke hat.

Im Jahr 2000 mit dem Aufkommen von Web 2.0, initiierten Giganten wie Google und Amazon, eine Anstrengung, um neue Algorithmen für die Verwaltung großer Datenmengen (mehrere Petabyte) zu entwickeln. Ergebnisse dieser Anstrengungen, seitens Google, war das Framework Map/Reduce und das BigTable, welches auf ein eigenes Dateisystem basiert, das GFS, und seitens Amazon, das Dynamo. Beide (BigTable und Dynamo) versuchen der Falle der vertikale Skalierung zu entkommen, durch die horizontale Skalierung großer Datensätze.

BigTable basiert auf Infrastruktur, die in Google bereits existiert. Dessen Verteilung der Daten ist von dem verteilten Dateisystem (GFS) inspiriert, die zuvor zur Optimierung der Suchmaschine entwickelt wurde. Dynamo, auf der anderen Seite, nähert sich dem Problem ganz anders. Es ist eine rein verteilte Hash-Tabelle, der sogenannte 1 hop DHT - O (1), und konzentriert sich mehr auf die Verfügbarkeit.

Ansätze der Spaltenorientierte Datenbanksysteme

In der Praxis sind die Wide Column Stores für analytische Informationssysteme, bei denen die direkte Verarbeitung von Informationen benötigt ist, für Data-Mining Systeme, für Business Reporting für den Vertrieb (Marketing), für Business Process Management-Systeme (Business Process Management) und für Systeme für Finanzberichte und Budget-Projektionen, geeignet.

Weitere Anwendungen sind, die Suchmaschinen wie Google (das war ja der Grund für die Entwicklung von Bigtable), riesige Data Warehouses, in denen Millionen von Video- und Sound-Dateien gespeichert sind und eine Schnellsuche benötigt wird (YouTube), und soziale Netzwerke (Facebook, Digg, Twitter).


Webseiten, die Wide Column Store Systeme nutzen.

Implementierugnen

Die Idee der Wide Column Stores wurde am Ende der 80-er Jahren geboren. Seit vielen Jahren, hatte sich nur Sybase mit der Entwicklung solcher Systeme beschäftigt, die jedoch, dramatisch in den letzten Jahren verändert wurden. In den folgenden Abschnitten, wird eine kurze Beschreibung einiger der wichtigsten Implementierungen des Wide Column Stores Konzepts gegeben.

Quellen

  • Bößwetter, D.: Lexikoneintrag "spaltenorientierte Datenbanken" bei der GI e.V. der Gesellschaft für Informatik, Stand 23.03.2011
  • Bößwetter, D.: „Spaltenorientierte Datenbanken“, Informatik Spektrum, GI e.V., Band 33 Heft 1, S. 61-65, Springer-Verlag, 02.2010
  • Alex Manfrediz, Christopher Chute: "The Diverse and Exploding Digital Universe", IDC - Analyze the Future, March 2008.
  • John F. Gantz: "The Digital Universe Decade - Are You Ready?", IDC - Analyze the Future, May 2010.

Weiterführende Literatur

  • Apostolos Benisis: "Business Process Management: A Data Cube To Analyze Business Process Simulation Data For Decision Making", VDM Verlag; 2010.
  • Deepak Pareek: "Business intelligence for telecommunications", CRC Press, 2007.
  • Thomas Jagodits, Haran Boral, Patrick Valduriez, Setrag Khoshafian, George Copeland: "A query processing strategy for the decomposed storage model", IEEE, S. 636-643, 1987.
  • Edlich, Friedland, Hampe, Brauer: „NoSQL – Einstieg in die Welt der nichtrelationalen Web2.0- Anwendungen“, Hanser-Verlag, 2010, ISBN 978-3-446-42355-8
  • Frey, M.: „Etablierte Datenmodelle der NoSQL-Familie und ihre spezifischen Eigenschaften im Kontext von Cloud-Datenbanken“, Bachelorarbeit, FH Köln, Institut für Informatik, 08/2010
  • Kossmann, D., Kraska T.: „Data Management in the Cloud: Promises, State- of-the-art and Open Questions“, in „Datenbanken und Cloud-Computing“, Datenbank Spektrum, Band 10 Heft 3, S. 121-129, Springer-Verlag, 12.2010

Weiterführende Links

Kategorie: Neue DB-Entwicklungen, NoSQL, Spaltenorientierte-DB, S