Vorheriger Artikel Nächster Artikel

Relationale Datenbanken bekommen Konkurrenz: NoSQL – Neues Denken in der Datenbankwelt

Aus dem
t3n Magazin Nr. 19

03/2010 - 05/2010

Es herrscht Aufbruchstimmung in der Welt der Datenbanken. Nach mehr als 30 Jahren Dominanz der relationalen Datenbanken schicken sich unterschiedlichste Lösungen an, ihnen den Platz streitig zu machen. NoSQL bietet neue Denkansätze für Datenbanken unterschiedlicher Art.

NoSQL ist ein Statement und beschreibt eine neue Generation von Datenbanken, die mit den Traditionen der relationalen Dinosaurier brechen. Die Idee ist nicht neu, und einige Konzepte gehen zurück bis in die frühen achtziger Jahre. Objektorientierte Datenbanken als geistige Vorläufer einiger NoSQL-Datenbanken konnten sich aber nicht durchsetzen.

Warum dennoch der ganze Aufwand? Oracle, Sybase, MySQL und Konsorten verrichten schließlich seit Jahren zuverlässig ihre Dienste in allen möglichen Bereichen. Das ist zwar richtig, doch sie sind nicht unbedingt das richtige Tool für jeden Zweck. Gerade mit dem Anwachsen des Datenaufkommens im Internet sind neue Wege gefragt, die auch umfassenderen und loseren Datenstrukturen gerecht werden. Relationale Datenbanken leben von einem festen Schema und schränken Daten entsprechend ein.

Ohne Schema

Die neue Generation von Datenbanken zielt dementsprechend vor allem auf die Nöte und Bedürfnisse des Webs. Unstrukturierte Daten bedürfen des Verzichts auf ein festes Schema und dessen Constraints und benötigen Unterstützung simpler Datenstrukturen wie Hashes und Arrays, deren Modellierung mit relationalen Datenbanken immer wieder zu unschönen Workarounds führt.

Viele NoSQL-Vertreter stellen gewisse Möglichkeiten zur Verfügung, um eine Art Schema zu definieren, gemeinhin hat sich jedoch durchgesetzt, ein einfaches Datenformat wie JSON oder einfach Hashmaps zu verwenden, um Daten zu speichern. Man spricht nicht mehr von Zeilen in einer Tabelle, man spricht von Dokumenten, die keinem Schema unterliegen und trotzdem alle Teil der gleichen Datenbank sein können.

Eventual-Consistency

Die wichtigste Erkenntnis der neuen Datenbanken ist, dass strikte Datenkonsistenz in verteilten Systemen nicht oder nur sehr bedingt möglich ist. Wer bereits Kontakt mit MySQLs Replikation hatte, kennt das Problem. Wird ein Eintrag im Master geschrieben, ist er nicht sofort auf den Slaves verfügbar. Der Verzug ist meist kaum spürbar und wird auch nur ungern in Applikationen berücksichtigt, aber die Gefahr, dass er länger als nur ein paar Millisekunden beträgt, besteht.

Post-relationale Datenbanken sehen diesen Umstand nicht unbedingt gelassen, erkennen ihn aber als Notwendigkeit an, wenn Daten über mehrere Nodes verteilt sind. Konsistenz ist meistens nicht ohne Nachteile zu hundert Prozent erreichbar. Je verteilter die Systeme, desto mehr sorgen Netzwerkverbindungen und geografische Entfernung dafür, dass man für strikte Konsistenz einen hohen Performance-Preis zahlt.

Eventual-Consistency [1] ist vor diesem Hintergrund eine Alternative. Werden Daten auf einen Node geschrieben, ist unbestimmt, wann genau sie auf anderen Nodes verfügbar sind. Gibt es keine konkurrierenden Updates, wird aber davon ausgegangen, dass die Änderung auf alle Nodes propagiert wird.

Hänge dich jetzt an unsere Facebook-Seite und sichere dir deinen #Wissensvorsprung!

t3n gefällt mir!
Vorheriger Artikel Zurück zur Startseite Nächster Artikel
Eine Antwort
  1. von flo am 07.07.2010 (16:42 Uhr)

    Ein Fakt im Thema Graph-Datenbanken hat sich geändert!

    sones GraphDB ist Open Source, den Code gibt es unter: GitHub

    Weitere Informationen rund um die GraphDB unter: sones wiki

    Antworten Teilen
Deine Meinung

Bitte melde dich an!

Du musst angemeldet sein, um einen Kommentar schreiben zu können.

Jetzt anmelden

Ähnliche News
Datenschutz-Fail: Studenten finden 40.000 ungesicherte Datenbanken im Netz
Datenschutz-Fail: Studenten finden 40.000 ungesicherte Datenbanken im Netz

Fast 40.000 ungesicherte MongoDB-Datenbanken haben Saarbrücker Studenten im Internet gefunden. Mehrere Millionen Nutzerdaten standen so ohne Zugriffsbeschränkungen im Netz. » weiterlesen

Orchestrate.io: Die „Database as a Service“ im t3n-Kurztest
Orchestrate.io: Die „Database as a Service“ im t3n-Kurztest

Statt selbst mehre Datenbanken zu verwalten, bietet Orchestrate alle wichtigen Funktionen von NoSQL-Datenbanken mittels einer REST-API an. Wir haben uns das Projekt angeschaut und verraten euch, was … » weiterlesen

Warum ich manchmal doch Angst um die Zukunft meiner Daten habe
Warum ich manchmal doch Angst um die Zukunft meiner Daten habe

Lange war mir egal, dass Informationen über mich permanent in irgendwelchen Datenbanken landen. Mir war nicht ganz klar, wie man mir damit würde schaden können. Bis mir ein Kneipenerlebnis die … » weiterlesen

Alle Hefte Jetzt abonnieren – für nur 35 €

Kennst Du schon unser t3n Magazin?

t3n 40 jetzt kostenfrei probelesen! Alle Inhalte des t3n Magazins Diesen Hinweis verbergen