Dokumentenbasierte NoSQL Datenbanken
Während eine relationale Datenbank aus Datenbanktabellen besteht, die einem festen Datenbankschema unterliegen, enthält eine dokumentenorientierte Datenbank einzelne Dokumente mit einem eindeutigen Identifikator. Hierbei entspricht ein Dokument einer Zeile in einer Datenbanktabelle. Diese Dokumente können nun strukturierte Dateien mit einem Standard-Dateiformat sein (wie eine Textverarbeitungsprogrammdatei), aber auch Binary Large Objects sind möglich, die im Sinne eines Datenbankzugriffs nicht weiter strukturiert sind (wie ein Videofilm im mpeg-Format). Da die Dokumente schemafrei sind, kann eine Datenbank unterschiedliche Arten von Dokumenten enthalten. Durch die Zuordnung der Dokumente zu einem eindeutigen Schlüssel sind dokumentenorientierte Datenbanken Schlüssel-Werte-Datenbanken sehr ähnlich. Während Schlüssel-Werte-Datenbanken den dem Schlüssel zugeordneten Wert nicht weiter betrachten, bieten dokumentenorientierte Datenbanken Möglichkeiten, die Dokumente direkt auszuwerten oder inhaltlich zu verändern.
In aktuellen Datenbanksystemen wie CouchDB und MongoDB enthalten diese Dokumente semistrukturierte Daten wie JSON, YAML oder XML (siehe auch XML-Datenbank). Dies ermöglicht das Speichern komplexer Datenstrukturen in der Datenbank sowie deren Abfrage anhand bestimmter Eigenschaften. Im Gegensatz zu relationalen Datenbanken müssen diese Strukturen nicht auf Tabellen abgebildet werden, was die Vorgänge des Speicherns und des Auslesens weniger komplex macht. Jedoch können aufgrund der fehlenden Möglichkeiten zur Normalisierung Redundanzen in den Daten entstehen und die Anwendung, die die Daten nutzen soll, wird komplexer, da sie unter Umständen selbst dafür sorgen muss, dass die Daten konsistent sind.
Quelle: Wikipedia
NoSQL | MongoDB Einstieg in MongoDB