PHP-Consulting.de

Über PHP und Consulting

Was bedeutet "NoSQL"?

Im Ende ist “NoSQL” ein Oberbegriff für nicht-relationale Datenbanken oder Daten-Modelle.

Es geht also um Alternativen zu dem Quasi-Standard der Relationalen Datenbanken (wie MySQL, MS SQL, Oracle, etc.) die vereinfacht auch als SQL-Datenbanken beschrieben werden. Es geht also gar nicht um die Ablehnung der Abfragesprache SQL, sondern lediglich um die Ablehnung der damit stark assoziierten Relationalen Datenbanken.

Was ist nun die Alternative?

Die Alternativen gehen vom Datenmodell in zwei Richtungen. Zum einen der Verkleinerung der Datenhappen in Schlüssel-Wert-Paare (vorstellbar wie ein assoziatives Array in PHP oder eine Hash-Map in Java). Zum anderen der Vergrößerung in der Datenhappen in “Dokumente” (vorstellbar als Baum-Struktur, z.B. ein JSON-Objekt oder die DOM-Struktur einer XML-Datei).

Mit den richtigen Schnittstellen kann dies die Entwicklungsarbeit deutlich vereinfachen da unnötige Abstraktionen weg fallen.

Ein weiterer Aspekt ist oft die Skalierbarkeit von Groß- und Größtprojekten. Systeme wie Facebook, Twitter oder Digg stießen alle an die Grenzen der Skalierbarkeit.

Die neue Generation von Datenbanken versucht hier mit besseren Techniken der Verteilung der Datenbanken auf viele Server (z.B. Sharding) hier Verbesserungen zu erreichen.

Buzzword “NoSQL”

Im Ende ist “NoSQL” also eher ein ungenaues Buzzword für einen Umbruch in der Datenbank-Technik.

Dieser Beitrag ist natürlich nur ein kurzer Anriss. Bei Interesse werde ich dieses Thema gerne weiter vertiefen.

Leave a Reply