NoSQL: Konzepte und Prinzipien

NoSQL: Wie moderne Datenbanken arbeiten

Kai Spichale und Eberhard Wolff

Moderne NoSQL-Datenbanken positionieren sich mit wachsender Popularität als Lösungen für die aktuellen Probleme im Persistenzbereich. Datenbankkenntnisse gehören zum unverzichtbaren Grundlagenwissen von Informatikern. Diese Kenntnisse konzentrieren sich jedoch meist auf relationale Datenbanken. Die Konzepte und Modelle der NoSQL-Datenbanken sind noch vergleichsweise unbekannt. Das ist ein guter Grund, sich mit den theoretischen Grundlagen auseinanderzusetzen.

Mehr zum Thema

Wer sich intensiv mit dem Thema BigData und NoSQL beschäftigen möchte, sollte einen Blick auf die kommenden BigDataCon werfen. Die Konferenz beschäftigt sich mit den in diesem Artikel beschriebenen technologischen Herausforderungen auf technischem und strategischem Niveau und findet parallel zu JAX 2012 in Mainz statt.

Mehr Informationen gibt es unter http://www.bigdatacon.de.

Im Persistenzbereich sind einige neue Herausforderungen zu meistern. Zunächst ändern sich die Strukturen der Daten:

  • Durch Hypertext im Web vernetzen sich die Daten stärker. Eine Webseite kann als ein Graph dargestellt werden: Es besteht aus Dokumenten mit Referenzen untereinander. Klassische Persistenzlösungen wie Dateien oder relationale Datenbanken sind keine ideale Technologie für das Speichern solcher Graphenstrukturen.
  • Durch Blogs, Social-Media-Plattformen und andere User Generated Content, aber auch durch Webseiten werden die Strukturen der Daten aufgelöst: Es gibt diese Strukturen zwar immer noch, aber sie sind viel flexibler. So kann User Generated Content aus Videos, Fotos oder Dokumenten bestehen oder gar aus einer Kombination dieser Elemente. Die Strukturen werden dann außerdem ad hoc geändert, zum Beispiel durch Benutzer. Die Daten sind also semi-strukturiert.
  • Ebenso ändert sich der Zugriff auf die Daten. Früher haben Suchfunktionen nach bestimmten Eigenschaften gesucht – beispielsweise alle Kunden mit einem bestimmten Namen. Heutzutage wird Volltextsuche und Autovervollständigung bei Eingaben zunehmend wichtiger. Dazu müssen Daten anders durchsuchbar sein und daher auch anders abgelegt werden.

Vielleicht der wichtigste Trend ist das exponenzielle Datenwachstum; die Datenmengen wachsen immer schneller. Beispielsweise speichert die Plattform für Kurznachrichten Twitter täglich sieben Terrybyte Daten und Facebook pro Tag 25 Terrabyte Log-Daten. Das Marktforschungsunternehmen IDC schätzte die weltweit gespeicherten digitalen Daten im Jahr 2011 auf 1800 Exabyte. Das entspricht einer Verzehnfachung der Datenmenge in nur fünf Jahren.

Der Umgang mit großen Datenmengen ist nicht neu. Schon lange gibt es beispielsweise Data Warehouses. Sie werden typischerweise genutzt, um Kundenverhalten auszuwerten. Gerade im Internet gibt es Geschäftsmodelle, die letztendlich direkt auf solchen Ansätzen basieren. Dazu zählt unter anderem der gesamte Bereich des Onlinemarketings. Für diesen Bereich ist es unbedingt erforderlich, die Anzahl der Klicks auf Anzeigen zu ermitteln, da sie letztendlich die Basis des Umsatzes sind. Aber auch andere Firmen haben es nicht nur durch Onlineangebote, sondern auch durch RFID für das Tracken einzelner Gegenstände und viele andere neue Technologien mit immer mehr Daten zu tun.

Wer diese Daten besser auswertet, kann bessere Geschäftsentscheidungen treffen und sich so letztendlich einen Wettbewerbsvorteil sichern. Eine weitere technische Herausforderung ist die Cloud. Sie bietet große Mengen von wenig leistungsfähigen Servern an, die auch nicht besonders hoch verfügbar sind. Aber auch sonst können die Datenmengen nicht mehr durch einzelne zentralisierte Systeme verwaltet werden, sondern es müssen viele Systeme daran beteiligt werden. Wenn man dann Standardhardware verwendet, bietet der Ansatz auch einen Kostenvorteil. Wegen des Wachstums der Datenmengen müssen aktuelle Technologien wie relationale Datenbanken nicht durch etwas anderes abgelöst, sondern neue Technologien können zusätzlich eingeführt werden, es sind sozusagen genügend Daten für alle da. Und in vielen Fällen sind Technologien wie relationale Datenbanken sinnvolle Lösungen. Oft ist auch die Skalierung „nach unten“ interessant: So müssen Dokumente ja auch auf mobilen Endgeräten wie Tablets und Mobiltelefone verwaltet werden. Und mittlerweile gibt es dank HTML5 auch Datenbanken im Browser. In diesen Bereichen muss die Datenbank nicht große Datenmengen verarbeiten, aber dafür mit sehr wenigen Hardwareressourcen zu Recht kommen.

Als Zwischenfazit lässt sich festhalten, dass sich nicht nur die Struktur, sondern auch die Menge der Daten ändert. Auf diese beiden Herausforderungen müssen neue Persistenztechnologien eine Lösung bieten.

Geschrieben von
Kai Spichale und Eberhard Wolff
Kommentare

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.