Dokumentenorientierte Datenbanken (auch Dokumentdatenbanken oder Document Stores) sind NoSQL-Systeme, die Daten in Dokumenten speichern — selbstbeschreibenden, meist JSON-ähnlichen Strukturen. Statt einer festen Tabellenstruktur mit Spalten hält jedes Dokument seine Felder selbst, was große Schema-Flexibilität erlaubt: Unterschiedliche Datensätze dürfen unterschiedliche Felder besitzen.
Dokumente und Collections
Die Grundeinheit ist das Dokument (bei MongoDB als BSON, Binary JSON, kodiert). Gleichartige Dokumente liegen in Collections (Sammlungen) — das Gegenstück zu Tabellen, jedoch ohne erzwungenes Schema. Ein Kunden-Dokument kann ein eingebettetes Adress-Objekt oder ein Bestell-Array enthalten; verschachtelte Daten müssen nicht über JOINs zusammengesetzt werden.
Vorteile und typische Einsätze
- Agile Entwicklung: Schemaänderungen sind Code-Änderungen, keine Migrationen; ideal für Prototypen und schnell wechselnde Anforderungen.
- Horizontale Skalierung: Dokumente lassen sich gut über mehrere Server verteilen (Sharding).
- Typische Einsatzgebiete: Content-Management, Kataloge, Benutzerprofile, IoT-Daten, Event-Logs.
Der bekannteste Vertreter ist MongoDB; weitere sind CouchDB, Couchbase und Amazon DocumentDB. Zusammen mit Key-Value-Stores und Graphdatenbanken bilden sie die Kernfamilie der NoSQL-Datenbanken.
Verwandte Grundlagen: NoSQL-Datenbank, MongoDB, Datenbankschema.