NoSQL Datenbanken - was ist das überhaupt?

von Sven Bosinger (Kommentare: 0)

NoSQL (Datenbank, nicht-relational)Laut „Gartner Hype Cycle“ befinden sich NoSQL-Datenbanken gerade in der „Innovation Trigger“ Phase und haben damit den „Peak of Inflated Expectations“ noch nicht überschritten. D.h. dieser Technologie werden Potentiale zugeschrieben, die sie vielleicht oder vielleicht auch nicht erreichen wird. Doch worum handelt es sich eigentlich, wenn man von NoSQL-Datenbanken spricht?

Unter NoSQL Datenbanken fasst man aktuell mehrere Datenbanktechnologien zusammen, die eins gemeinsam haben: sie basieren nicht auf dem Relationalen Ansatz, wie er von Edgar F. Codd 1970 formuliert wurde. Damit sind sie nicht an die Datenbanksprache SQL gebunden, woraus ihr Name NoSQL (Not only SQL) resultiert.

Die NoSQL-Datenbanken können in folgende Hauptgruppen aufgeteilt werden:

  • Document-Oriented Databases

Bei dieser Technologie handelt es sich um Datenbanken, deren zentrales Speicherobjekt ein wie auch immer geartetes Dokument darstellt. Die Dokumente können strukturiert sein wie z.B. MS-Office-Dokumente oder aber auch unstrukturierte Binärfiles. Dokumente können dabei auch in den Formaten XML oder JSON gespeichert sein. Jedes Dokument wird in der Datenbank über eine eindeutige ID angesprochen. Typische Vertreter dieser Technologie sind Lotus Notes und MongoDB.

  • Graph Databases

Graphen-Orientierte Datenbanken benutzen ein Knoten- und Kantenmodell um vernetzte Informationen darzustellen. Dabei können sowohl den Kanten, als auch den Knoten Attribute zugewiesen werden. Dadurch können Beziehungen von Objekten zueinander dargestellt werden. Objekte werden durch die Knoten und die Art der Beziehungen durch die Kanten dargestellt. Typische Vertreter dieser Technologie sind OrientDB oder Virtuoso.

  • Key-Value Stores

Key Value Stores benutzen assoziative Arrays um Daten zu speichern. Ein solches Array ist dabei eine Liste von Tupeln, die jeweils aus einem Schlüssel/Werte-Paar (Key-Value oder KV) besteht. Daten werden als eine Menge von KVs gespeichert. Es handelt sich dabei um ein sehr einfaches Model, das sehr schnell Select, Insert, Update und Delete Operationen durchführen kann. Typische Vertreter dieser Technologie sind Berkley DB oder Coherence.

  • Häufig werden auch noch Objektorientierte- und Spaltenorientierte-Datenbanken unter dem Begriff NoSQL eingeordnet.

In der aktuellen Diskussion werden die Key-Value Stores häufig mit dem Begriff NoSQL gleichgesetzt. Sie sind zwar ein wichtiger Vertreter dieser Technologie, stellen aber wie oben beschrieben nicht das gesamte Spektrum dar.

Der Hauptunterschied zwischen den SQL und den NoSQL Datenbanken liegt darin, dass DML-Operationen, d.h. alle Abfragen und Änderungen, frei von jeglichem „Beiwerk“ möglichst nativ durchgeführt werden. Die Stärken der NoSQL Datenbanken liegen in der extrem schnellen Speicherung und Veränderung von Dateninhalten. Diese geht allerdings zu lasten der Datensicherheit. So sind Transaktions- und Sperrkonzepte i.d.R. nur sehr schwach ausgeprägt oder überhaupt nicht vorhanden. Zusätzlich unterstützt das Modell der Key-Value Stores sehr gut eine massiv parallele Verarbeitung, so dass hier auch häufig Cluster-Technologien verwendet werden.

Der Einsatz vor allem der Key-Value Stores ist heute im Bereich von „Big Data“ und dem „Internet of Things“ zu sehen. Ihre Stärken kommen immer dann zum tragen, wenn es darum geht, immense Mengen an Daten extrem schnell zu speichern und wieder aufzufinden. Die klassischen Datenbank-Anwendungen wie z.B. ERP-Systeme sind nach aktuellem Stand der Technik nicht für einen NoSQL Ansatz geeignet. Hier zeigt sich auch, dass momentan die NoSQL Datenbanken als Ergänzung zu den klassischen Datenbanksystemen zu sehen sind und weniger als Konkurrenz.

Zudem ist der Markt noch sehr zergliedert. Es haben sich bisher noch nicht viele Hersteller etabliert, die das Potential zu einem Marktführer aufweisen. Allerdings beginnen sich die großen IT-Unternehmen und Software-Produzenten zunehmend für diesen Technologiezweig zu interessieren und haben bereits strategische Investitionen getätigt. NoSQL-Datenbanken sind im studentischen Umfeld und in der Forschung stark vertreten, woraus ein gewisser Sexappeal herrührt. Noch dazu ist bei einer relativ neuen Technologie der Einarbeitungsaufwand noch überschaubar und eine gewisse Gestaltungsfreiheit gegeben, was sich in einer lebhaften Gründerszene wiederspiegelt.

Zurück

Einen Kommentar schreiben