NoSQL im Überblick

Was ist NoSQL? Wie kommt es, dass NoSQL-Datenbanken derzeit auf so viel Interesse stoßen? Wird NoSQL herkömmliches SQL ersetzen? Dieser Überblick will einige Fragen beantworten.

Der Aufstieg von NoSQL-Datenbanken stellt das traditionelle relationale Datenbankmodell als Lösung für alle Probleme in Frage – nicht nur in der Theorie, sondern auch in der Praxis. In seinem Kern bedeutet NoSQL allerdings keine grundsätzliche Ablehnung von SQL: NoSQL steht eher für "Not Only SQL" (nicht nur SQL) als für "No SQL" (kein SQL). Die neue Strömung greift interessanterweise Datenbankmodelle auf, die in der Vergangenheit aus verschiedensten Gründen in Vergessenheit geraten sind. Dabei erfolgt die Innovation in erster Linie durch praktische Entwicklungen – häufig auf der Basis von Open-Source-Software –, nicht in Form datenbanktheoretischer Überlegungen. NoSQL, das schon vorweg, ist jedoch kein Wundermittel für alle Datenbankansprüche.

Der derzeitige NoSQL-Trend bringt die relationalen SQL-Datenbank allerdings nicht zum ersten Mal unter Beschuss. In den neunziger Jahren zum Beispiel machten die objektorientierten Datenbanken von sich reden. Sie boten Entwicklern auf den ersten Blick einen Ausweg aus der mühseligen Konvertierung ihrer Datenobjekte in Reihen und Spalten. In der Praxis waren die Implementierungen von objektorientierten Datenbanken jedoch häufig sehr komplex und fragil, sodass desillusionierte Entwickler sich erneut auf die Suche nach besseren Möglichkeiten begaben. In der Folge entstanden die objektrelationalen Mapper (ORM), die einen Großteil der Konvertierungsarbeit von Datenobjekten zwecks Speicherung in einer SQL-Datenbank erledigten.

Die aktuellen NoSQL-Datenbanken haben einige Eigenschaften gemeinsam: Sie verzichten in der Regel auf die starren Schemata der Tabellen ihrer relationalen Pendants. Als schemafreie Datenbanken setzen sie auf flexiblere Techniken, um festzulegen, wie Daten gespeichert werden; oder sie überlassen das gleich komplett den Anwendungen. Namensgebend ist der Einsatz anderer Protokolle für die Kommunikation mit den Clients als SQL. Die Architektur vieler NoSQL-Datenbanken ist auf Skalierbarkeit ausgelegt, sodass sich große Datenbestände in einem Cluster aus Standardsystemen verwalten lassen, statt sie auf einem einzigen Superserver zu speichern...

weiterlesen: http://www.heise.de/open/artikel/NoSQL-im-Ueberblick-1012483.html