Was ist eine Dokumentdatenbank?

Eine Dokumentdatenbank ist eine Art von NoSQL-Datenbank, die Daten in einem flexiblen Format speichert, verwaltet und abruft. Diese „Dokumente“ können jeweils eine eigene Struktur haben – im Gegensatz zu relationalen Datenbanken, die starre Tabellen mit Zeilen und Spalten verwenden.

Diese Flexibilität macht Dokumentdatenbanken zur idealen Wahl für den Umgang mit halbstrukturierten oder unstrukturierten Daten, wie KI-generierten Anwendungen oder Sensordaten – Fälle, in denen herkömmliche Schemas zu restriktiv wären. Sie sind besonders beliebt für Anwendungsfälle wie Content-Management, E-Commerce und Echtzeitanalysen.

Wichtigste Ergebnisse

Eine Dokumentendatenbank ist eine Art NoSQL-Datenbank, die Daten in flexiblen, JSON-ähnlichen „Dokumenten“ speichert.

Dokumentdatenbanken sind bekannt für:

  • Flexible Datenmodelle: Jedes Dokument kann eine eigene Struktur haben. Das entwicklerfreundliche Design ordnet Objekte direkt dem Code zu.
  • Horizontale Skalierbarkeit: Dokumentendatenbanken sind für die horizontale Skalierung ausgelegt und lassen sich problemlos an das Wachstum anpassen.
  • Umfangreiche Abfragemöglichkeiten: Eine leistungsstarke Abfragesprache ermöglicht komplexes Filtern, Sortieren und Aggregieren von Daten.
  • Vielfältige Anwendungsfälle: Dokumentdatenbanken eignen sich ideal für unstrukturierte oder semistrukturierte Daten und haben eine Reihe von Anwendungsfällen, z. B. Content-Management-Systeme, Nutzerprofile, Gesundheitsakten und E-Commerce-Produktkataloge.

Wie funktioniert eine Dokumentdatenbank?

Eine Dokumentdatenbank ist wie ein intelligenter digitaler Aktenschrank. Die Daten werden in Sammlungen (Ordner) gruppiert, die jeweils in sich geschlossene Dokumente (Dateien) für eine einzelne Entität wie einen Kunden oder ein Produkt enthalten.

Im Gegensatz zu einer starren relationalen Tabelle kann jedes Dokument eine eigene Struktur haben. So können Sie beispielsweise einem einzelnen Produkt in Ihrem E-Commerce-Katalog das Feld „sustainability_rating“ hinzufügen, ohne das Schema für alle anderen Artikel zu ändern.

Dokument 1:

{

id: 1

product_name: „blaues Hemd“

product_category: „Hemd“

qty: 76

sustainability_rating: „moderate“

}


Dokument 2:

{

id: 2

product_name: „grüne Hose“

product_category: „Hose“

qty: 44

}

Dokument 1:

{

id: 1

product_name: „blaues Hemd“

product_category: „Hemd“

qty: 76

sustainability_rating: „moderate“

}


Dokument 2:

{

id: 2

product_name: „grüne Hose“

product_category: „Hose“

qty: 44

}

Dokumentdatenbanken eignen sich gut für Anwendungen, die Flexibilität, Skalierbarkeit und schnelle Entwicklung erfordern, wie KI-Anwendungen, Content-Management, E-Commerce und Echtzeitanalysen.

Ein einzelner Social-Media-Beitrag enthält beispielsweise semistrukturierte Daten – vorhersehbare Felder wie Nutzername, Zeitstempel und Anzahl der „Likes“ –, aber die Struktur ist flexibel. Ein Beitrag kann beispielsweise ein optionales Standort-Tag enthalten, während ein anderer eine Liste mit getaggten Nutzern hat. Außerdem kann der Beitrag unstrukturierte Daten enthalten, zum Beispiel ein Bild oder Video, den Freitext der Bildunterschrift und eine Reihe von Nutzerkommentaren.

Eine Dokumentdatenbank ist so konzipiert, dass sie all diese zusammengehörigen Informationen – vom strukturierten Nutzernamen bis hin zum unstrukturierten Bild und den Kommentaren – in einem zusammenhängenden „Dokument“ speichert. So können Entwickler sehr effizient mit realen Daten arbeiten, ohne sie erst in eine starre, vordefinierte Struktur zwingen zu müssen.

Wichtige Funktionen einer Dokumentdatenbank

Dokumentdatenbanken zeichnen sich durch eine Reihe einzigartiger architektonischer Merkmale aus, die moderne Entwicklungsmuster und Dateneffizienz unterstützen.

Dokumente werden in Sammlungen gruppiert, ähnlich wie Tabellen in relationalen Datenbanken. Im Gegensatz zu Tabellen müssen jedoch nicht alle Dokumente in Sammlungen dieselbe Struktur haben, was mehr Flexibilität bietet. Nehmen wir zum Beispiel Dokumente, in denen der Name und die E-Mail-Adresse eines Kunden gespeichert sind, aber unterschiedliche Zahlungsarten. In einem Dokument können Kreditkartendaten gespeichert sein, in einem anderen die Bankleitzahl und Kontonummer eines Girokontos.

Jedes Dokument hat nicht nur seine eigene Struktur, sondern das Format kann sich auch ändern, wenn Informationen hinzugefügt werden. Mit anderen Worten: Nicht nur die Werte, sondern auch die Struktur der Daten kann sich ändern. Das ist ein grundlegender Unterschied zu einer relationalen Datenbank, in der alle Zeilen einer Tabelle den gleichen vordefinierten Spalten entsprechen müssen und sich nur die Werte ändern. Ein dynamisches Schema ist besonders leistungsstark beim Vibe-Coding, bei dem ein einzelner Prompt, der neue Geschäftsanforderungen ausdrückt, eine Änderung an einem Datenmodell widerspiegeln kann.

Dokumentdatenbanken ermöglichen es Ihnen, direkt in den Feldern eines Dokuments zu suchen, wobei Indizes schnelle Abfragen ermöglichen. So können Sie beispielsweise schnell einen Nutzer anhand seiner E‑Mail-Adresse finden oder Bestellungen über einem bestimmten Preis abrufen.

Dokumentendatenbanken sind so konzipiert, dass sie einfach erweitert werden können, indem nahtlos weitere Server oder Cluster mit wenig bis gar keiner Ausfallzeit hinzugefügt werden. Diese Skalierbarkeit macht sie ideal für Anwendungen mit wachsendem oder unvorhersehbarem Datenbedarf.

Wichtige Anwendungsfälle für Dokumentdatenbanken

Dokumentdatenbanken werden häufig für Anwendungen eingesetzt, bei denen Flexibilität, Skalierbarkeit und Geschwindigkeit entscheidend sind. Hier einige gängige Anwendungsfälle:

  • Content-Management-Systeme (CMS): Verwaltung verschiedener Inhalte, von Blogposts bis hin zu Produktbeschreibungen, um eine effiziente Bereitstellung und Aktualisierung von Inhalten zu gewährleisten
  • E-Commerce-Plattformen: Leistungsstarke Onlineshops mit komplexen Produktkatalogen, Nutzerkonten und Echtzeittransaktionen
  • Echtzeitanalysen: Verarbeiten und analysieren Sie große Datenmengen, um wertvolle Erkenntnisse zu gewinnen und datengestützte Entscheidungen zu treffen.
  • Mobile Apps und Webanwendungen: Schnelle und responsive Anwendungen entwickeln, die auf allen Geräten eine nahtlose Nutzererfahrung bieten
  • Internet der Dinge (IoT): Umfangreiche Sensordaten speichern und analysieren, um intelligente Geräte und Systeme zu betreiben
  • Spieleentwicklung: Sie können fesselnde Spiele entwickeln, indem Sie Spielerdaten, Spielstände und Bestenlisten verwalten
  • Anwendungen im Gesundheitswesen: Vertrauliche Patientendaten sicher speichern und verwalten, um eine effiziente und präzise Gesundheitsversorgung zu ermöglichen
  • KI-basierte Anwendungen: KI mit einem Datenmodell unterstützen, das sich schnell weiterentwickeln und mit sich ändernden KI-Prompts Schritt halten kann
  • KI-Cache: Ergebnisse von KI-Diensten, die Sprachübersetzungen, Datenklassifizierungen und mehr erstellen, werden im Cache gespeichert, um die Bereitstellungskosten zu senken

Dokument-, Schlüssel/Wert-Paar- und relationale Datenbanken im Vergleich

Dokumentdatenbanken, relationale Datenbanken und Schlüssel/Wert-Speicher verwalten zwar alle Daten, aber mit unterschiedlichen Prioritäten in Bezug auf Struktur, Flexibilität und Geschwindigkeit.

Feature

Dokumentdatenbank

Schlüssel/Wert-Speicher

Relationale Datenbanken

Datenformat

Umfangreiche, strukturierte Dokumente

Einfache Schlüssel/Wert-Paare

Tabellarisch (Zeilen und Spalten)

Flexibilität

Hoch; jedes Dokument kann unterschiedlich sein

Hoch; die Anzahl der Spalten kann von Zeile zu Zeile variieren

Eingeschränkt; vordefiniertes Schema

Abfragen

Erweitert, einschließlich verschachtelter Felder

Nach Primär- oder Sekundärindex für optimale Leistung

Erweiterte, komplexe Abfragen mit JOINs

Optimal für

Schnelle Entwicklung und sich weiterentwickelnde Datenmodelle

Einfache Datenstrukturen und schnelle Suchvorgänge

Strikte Datenkonsistenz und Abfragen über mehrere Tabellen hinweg

Feature

Dokumentdatenbank

Schlüssel/Wert-Speicher

Relationale Datenbanken

Datenformat

Umfangreiche, strukturierte Dokumente

Einfache Schlüssel/Wert-Paare

Tabellarisch (Zeilen und Spalten)

Flexibilität

Hoch; jedes Dokument kann unterschiedlich sein

Hoch; die Anzahl der Spalten kann von Zeile zu Zeile variieren

Eingeschränkt; vordefiniertes Schema

Abfragen

Erweitert, einschließlich verschachtelter Felder

Nach Primär- oder Sekundärindex für optimale Leistung

Erweiterte, komplexe Abfragen mit JOINs

Optimal für

Schnelle Entwicklung und sich weiterentwickelnde Datenmodelle

Einfache Datenstrukturen und schnelle Suchvorgänge

Strikte Datenkonsistenz und Abfragen über mehrere Tabellen hinweg

Dokumentdatenbanken im Vergleich zu relationalen Datenbanken

Dokumentdatenbanken eignen sich hervorragend für dynamische Umgebungen wie E-Commerce-Plattformen oder mobile Apps, in denen sich Daten schnell weiterentwickeln oder unterschiedliche Formen annehmen. Sie eignen sich für Datasets aus verschiedenen Quellen oder mit unterschiedlichen Schemas.

Relationale Datenbanken eignen sich dagegen ideal für traditionelle Anwendungen wie Finanzsysteme oder Bestandsverwaltung, bei denen Konsistenz und Struktur unerlässlich sind. Im Finanzdienstleistungssektor beispielsweise sorgen streng eingehaltene Schema dafür, dass jedes Kundenkonto genau die Datentypen verwendet, die für die Governance erforderlich sind.

Überlegungen zur Wahl zwischen den beiden Optionen:

  • Struktur: Relationale Datenbanken erzwingen strenge Schemas, während Dokumentdatenbanken es Datensätzen ermöglichen, eine jeweils eigene Struktur zu nutzen.
  • Beziehungen: Relationale Datenbanken verwenden JOIN-Operationen, um Tabellen zu verbinden, während Dokumentdatenbanken verwandte Daten oft in ein einzelnes Dokument einbetten, um den Zugriff zu beschleunigen.
  • Skalierbarkeit: Relationale Datenbanken lassen sich einfach vertikal skalieren, indem einem einzelnen Server mehr Ressourcen hinzugefügt werden. Für die horizontale Skalierung sind jedoch komplexe Mechanismen erforderlich. Dokumentdatenbanken sind für die horizontale Skalierung über mehrere Server hinweg ausgelegt.
  • Flexibilität: Dokumentdatenbanken passen sich mühelos an sich ändernde Datenmodelle an, während bei relationalen Datenbanken ein erheblicher Aufwand erforderlich ist, um Schemas zu ändern.

Große, komplexe Anwendungen wie Videospiele können auf Dokumenten- und relationalen Datenbanken basieren, wobei jede Datenbank unterschiedliche Teile der Daten speichert.

Dokumentdatenbanken im Vergleich zu Schlüssel/Wert-Speichern

Sowohl Dokumentdatenbanken als auch Schlüssel/Wert-Speicher sind NoSQL-Datenbanken, aber sie dienen unterschiedlichen Zwecken, basierend auf der Art, wie sie Daten verarbeiten.

Dokumentdatenbanken: Dokumentdatenbanken gehen über das das Schlüssel-Wert-Konzept hinaus. Dokumente können verschachtelte Daten enthalten. Dokumentdatenbanken bieten mehr Flexibilität bei der Indexierung dieser Daten, um leistungsstarke Abfragen zu den Werten verschachtelter Daten zu ermöglichen. Diese Struktur ermöglicht es Dokumentdatenbanken, vielfältige Datensätze zu verwalten und komplexe Abfragen zu unterstützen.

Schlüssel/Wert-Speicher: Solche Datenbanken verwenden eine einfache Struktur aus Schlüsseln und Werten. Jeder Schlüssel ist einmalig und verweist direkt auf seinen Wert. Diese Einfachheit macht Schlüssel/Wert-Speicher extrem schnell für Suchvorgänge, aber sie sind nicht ideal für die Verarbeitung komplexer oder hierarchischer Daten, da sie keine ausgefeilten Abfragesprachen verwenden.

Wann sollte welche Methode verwendet werden:

  • Wählen Sie Schlüssel/Wert-Speicher für einfache Datenstrukturen wie die Verwaltung von Nutzersitzungen oder das Caching, bei denen schnelle Suchvorgänge unerlässlich sind.
  • Wählen Sie eine Dokumentdatenbank für Anwendungen mit komplexen, sich entwickelnden Datenstrukturen, z. B. für die Verwaltung von Produktkatalogen oder Nutzerprofilen.

FAQ zur Dokumentdatenbank

Firestore ist eine vollständig verwaltete, serverlose Dokumentendatenbank von Google Cloud. Sie können Daten in flexiblen Dokumenten speichern und nahtlos in andere Google Cloud-Dienste einbinden, um so eine robuste, skalierbare Lösung erhalten.

Der Unterschied liegt in Struktur und Flexibilität. SQL-Datenbanken wie Cloud SQL oder Cloud Spanner verwenden starre Tabellen mit Zeilen und Spalten. Dokumentdatenbanken wie Firestore speichern Daten in flexiblen, JSON-ähnlichen Dokumenten, sodass sich die Struktur weiterentwickeln kann, ohne das Schema zu schädigen.

Vorteile der Verwendung einer Dokumentdatenbank

Dokumentdatenbanken sind leistungsstarke Tools, die moderne Datenanforderungen erfüllen können. Hier sind einige der wichtigsten Vorteile:

Flexibel

Aufgrund ihrer dynamischen Schemas können Dokumentdatenbanken für Anwendungen hilfreich sein, bei denen sich die Datenmodelle häufig ändern.

Leistung

Dank integrierter Indizierung und effizienter Datenzugriffsmuster sind Dokumentdatenbanken selbst bei Nutzung großer oder komplexer Datasets schnell.

Skalierbarkeit

Mit horizontaler Skalierung können Sie bei zunehmendem Datenvolumen weitere Server hinzufügen und so für eine gleichbleibende Leistung für wachsende Anwendungen sorgen. Dokumentdatenbanken können auch vertikal skaliert werden, indem jedem einzelnen Knoten Rechenleistung hinzugefügt wird.

Für Entwickler

Sie können JSON-Dokumente Objekten in der Datenbank zuordnen und dabei eine Syntax verwenden, die Entwicklern vertraut ist. Aktualisieren Sie die Dokumente direkt im Code.

Vielseitigkeit der Daten

Dokumentdatenbanken eignen sich hervorragend zum Speichern, Verwalten und Abfragen verschiedener Datentypen, einschließlich unstrukturierter und halbstrukturierter Informationen und Metadaten, die mit Dateien wie Bildern und Videos verknüpft sind.

Firestore als Dokumentendatenbank

Firestore ist eine vollständig verwaltete Dokumentendatenbank, die die Komplexität der Datenbankverwaltung reduziert. So können Sie das volle Potenzial von Google Cloud und seiner global skalierbaren Plattform nutzen.

Ganz gleich, ob Sie eine einfache App entwickeln oder eine globale Plattform skalieren – die Funktionen von Firestore sind darauf ausgelegt, Ihre Arbeit zu beschleunigen, ohne Flexibilität und Leistung zu beeinträchtigen.

  • Serverlose Architektur: Firestore ist serverlos, d. h., es muss keine Infrastruktur eingerichtet oder verwaltet werden. Die Lösung skaliert automatisch, um Ihre Datenlasten zu verarbeiten – von null bis zu Millionen gleichzeitiger Verbindungen.
  • Einbindung von Google Cloud-Diensten: Sie können ganz einfach andere Google Cloud-Dienste wie Cloud Functions, Cloud Run und BigQuery einbinden. So lassen sich leistungsstarke Datenverarbeitungs- und Analysepipelines ohne komplexe Konfigurationen erstellen.
  • MongoDB-Kompatibilität: Sie können MongoDB-Treiber, ‑Tools und ‑Code verwenden, um eine direkte Verbindung zu Firestore herzustellen. So lassen sich vorhandene Anwendungen ganz einfach migrieren und neue Projekte mit vertrauten Mustern starten.
  • Echtzeit-Updates: Dank der direkten Einbindung in die Plattform werden Daten in Echtzeit synchronisiert.
  • Globale Skalierbarkeit: Mit der horizontalen Skalierbarkeit von Firestore können Sie mühelos mit Ihrem Wachstum Schritt halten und Nutzern weltweit einen Zugriff mit niedriger Latenz bieten.
  • Entwicklerfreundlich: Sie können sich auf die Entwicklung innovativer Funktionen konzentrieren, ohne sich um die Infrastruktur oder Wartung kümmern zu müssen. Firestore ist ein vollständig verwalteter Dienst, der Ihnen schwierige Aufgaben abnimmt.
  • Kostenlose Stufe für geringe Nutzung: Firestore bietet eine großzügige kostenlose Stufe, die sich ideal für Start-ups oder kleinere Projekte eignet, die ohne Vorabkosten skalieren möchten.

Als Teil von Google Cloud und Firebase lässt sich Firestore einfach in Firebase Auth, BigQuery und viele andere Dienste einbinden. Von Echtzeit-Tools für die Zusammenarbeit über mobile Apps bis hin zu Unternehmensplattformen – Firestore bietet Ihnen alles, was Sie für Ihren Erfolg benötigen.

Legen Sie jetzt los – mit der kostenlosen Stufe für geringe Nutzung und den Vorteilen einer leistungsstarken, zuverlässigen und skalierbaren Dokumentdatenbank.

Meistern Sie Ihre geschäftlichen Herausforderungen mit Google Cloud

Neukunden erhalten ein Guthaben im Wert von 300 $ für Google Cloud.

Weitere Ressourcen

  • Was ist eine relationale Datenbank?: Hier erfahren Sie mehr über die Grundlagen relationaler Datenbanken, wie Daten in Zeilen und Spalten strukturiert werden und wann sie für eine starke Konsistenz verwendet werden sollten.
  • Was ist eine NoSQL-Datenbank?: Lernen Sie die verschiedenen Arten von NoSQL-Datenbanken kennen, z. B. Schlüssel/Wert-, Dokument- und Wide-Column-Speicher, und erfahren Sie, wie diese mit unstrukturierten Daten umgehen
  • Erste Schritte mit Firestore: In dieser Anleitung erfahren Sie, wie Sie Ihre erste Firestore-Datenbank einrichten, Daten hinzufügen und skalierbare Anwendungen in Google Cloud entwickeln.

Gleich loslegen

Profitieren Sie von einem Guthaben über 300 $, um Google Cloud und mehr als 20 „Immer kostenlos“ Produkte kennenzulernen.

Google Cloud