Was ist MongoDB?

MongoDB ist eine Dokumentendatenbank, die für ihre Benutzerfreundlichkeit und Skalierbarkeit bekannt ist. Es ist eine Art NoSQL-Datenbank, die einen flexibleren Ansatz zur Datenspeicherung verwendet als das herkömmliche tabellenbasierte Format, das in relationalen Datenbanken wie PostgreSQL zu finden ist.

Statt in Zeilen und Spalten speichert MongoDB Daten in JSON-ähnlichen Dokumenten mit hochgradig anpassbaren Feldern und entsprechenden Werten. Hier ein einfaches Beispiel, wie Sie ein Nutzerprofil in einem Dokument speichern können:

“_id”: “6327c1a4b3e3e8a5e6f7g6j1”,

“first_name”: “Praveen”,

“occupation”: “Developer”,

“employment_date”: “12/1/2025”

Da MongoDB ein flexibles Schema hat, müssen Sie nicht für alle Dokumente dieselben Felder verwenden. Sie könnten das Feld „Beruf“ entfernen, ein Feld „E-Mail-Adresse“ hinzufügen und so weiter.

Diese Flexibilität kann jedoch später zu Problemen führen, wenn die gleiche Art von Daten in Dokumenten inkonsistent gespeichert wird, z. B. wenn an einer Stelle das Feld „E-Mail“ und an einer anderen „E-Mail-Adresse“ verwendet wird oder wenn Datumsangaben in unterschiedlichen Formaten gespeichert werden.

Wenn Sie eine relationale Datenbank verwenden würden, um diese Art von Daten zu speichern, bei denen einige Nutzerprofile einen Beruf enthalten und andere nicht, könnte dies zu aufgeblähten Tabellen mit vielen leeren Feldern führen oder eine komplexe und sich wiederholende Datenstruktur erfordern, die auf mehrere Tabellen verteilt ist.

Sie möchten direkt eine dokumentorientierte Datenbank einrichten? Informationen zum Einstieg in Firestore

MongoDB-kompatible Anwendungen in Firestore ausführen

Wichtigste Ergebnisse

MongoDB ist eine NoSQL-Dokumentdatenbank, die sich ideal für die Verarbeitung großer Mengen unstrukturierter oder semistrukturierter Daten eignet. Hier eine kurze Übersicht über die wichtigsten Funktionen und Vorteile von MongoDB:

  • Dokumentmodell: Daten werden in JSON-ähnlichen „Dokumenten“ gespeichert. Im Gegensatz zu einem Dokument im herkömmlichen Sinne, das Freiformtext für menschliche Leser enthält, werden in einem JSON-ähnlichen Dokument Feld-Wert-Paare verwendet, um Daten so zu organisieren, dass sie für Anwendungen einfach zu lesen sind.
  • Flexibles Schema: Jedes Dokument in MongoDB kann eigene Felder und eine eigene Struktur haben. Das ist flexibler als die starren Spalten und Zeilen relationaler Datenbanken.
  • Hoch skalierbar: MongoDB ist für die horizontale Skalierung ausgelegt. Die Arbeitslast wird effizient auf mehrere Server verteilt, sodass sich die Daten je nach Traffic-Anforderungen erweitern oder verkleinern lassen.
  • Intuitiv: Einige Entwickler bevorzugen MongoDB, weil die Abfragesprache in ihrer Struktur bekannten Programmiersprachen wie JavaScript ähnelt. So ist der Einstieg ganz einfach.
  • Unterstützung mehrerer Sprachen: Mit Treibern für die meisten Programmiersprachen, darunter Java, Python und C, können viele verschiedene Anwendungen eine MongoDB-Datenbank abfragen.

Vorteile von MongoDB

MongoDB – sowohl das Originalprodukt als auch mehrere andere damit kompatible Datenbanken – sind bei Entwicklern sehr beliebt, da sie in einem benutzerfreundlichen Paket eine hohe Flexibilität bieten.

  • Flexibles Schema für agile Entwicklung: Mit MongoDB können Sie den Grad der Schemastruktur und -validierung anpassen. Sie können mit einer lockeren Struktur für schnelles Prototyping beginnen, dann strenge Validierungsregeln einführen und Ihr Datenmodell weiterentwickeln, wenn Ihre Anwendung ausgereift ist. Wenn Sie schnell entwickeln möchten, ohne die gesamte Datenstruktur im Voraus zu definieren, kann die Flexibilität von MongoDB sehr hilfreich sein.
  • Horizontale Skalierung für Anpassungsfähigkeit: MongoDB ist für die horizontale Skalierung konzipiert, sodass Daten auf mehrere Knoten oder Cluster verteilt werden können – ein Prozess, der als „Sharding“ bezeichnet wird. Durch die Verteilung der Last auf mehrere Server können Sie Daten schnell speichern oder abrufen und sich an eine sinkende oder steigende Nachfrage anpassen.
  • Hochverfügbarkeit: MongoDB bietet integrierte Datenreplikation für hohe Verfügbarkeit und Fehlertoleranz. Bei einem Hardwareausfall oder während der Wartung ermöglichen mehrere Kopien von Daten auf verschiedenen Datenbankservern ein automatisches Failover.

Nutzerfreundliche Abfragen in MongoDB

Die Abfragesprache (Query Language, MQL) von MongoDB ist so konzipiert, dass sie Entwicklern sofort vertraut ist, insbesondere denen, die JavaScript kennen. So können Sie einfacher leistungsstarke Abfragen schreiben, um Daten abzurufen, zu aktualisieren oder zu löschen.

Sie können mit verschiedenen Arten von Abfragen genau die Daten finden, die Sie benötigen, darunter:

  • Feld-Abfrage: Finden Sie eine genaue Übereinstimmung mit einem bestimmten Wert in allen Dokumenten, z. B. alle Nutzer, deren Berufsfeld genau „Entwickler“ lautet.
  • Bereichsabfrage: Daten finden, die in einen bestimmten Bereich fallen, z. B. alle Nutzer, die älter als 35 Jahre sind.
  • Abfrage mit regulärem Ausdruck(Regex): Text finden, der einem bestimmten Muster entspricht. Sie können beispielsweise alle Nutzer finden, deren Name mit dem Buchstaben „B“ beginnt.

Insgesamt eignet sich MongoDB hervorragend zum Abrufen von Informationen zu ganzen Objekten. Wenn Sie beispielsweise alle Informationen zu einem Nutzer erfassen möchten – Name, Bestellhistorie und Präferenzen –, befinden sich diese wahrscheinlich in einem einzigen Dokument. Mit einer einzigen Abfrage erhalten Sie schnell alle benötigten Informationen.

MongoDB ist jedoch weniger effizient für Abfragen, die komplexe JOINs über viele verschiedene, hochstrukturierte Sammlungen erfordern – hier ist eine relationale Datenbank besser geeignet.

Häufige Anwendungsfälle von MongoDB

MongoDB eignet sich besonders gut für eine Vielzahl moderner Anwendungsanforderungen, darunter:

Dokumentdatenbanken wie MongoDB können eine solide Grundlage für die semantische Suche bilden, die KI-Modelle unterstützt. Diese müssen sich oft an frühere Interaktionen und Nutzerpräferenzen erinnern. Dokumentdatenbanken können diesen „Speicher“ als flexible JSON- oder BSON-Dokumente (Binary JSON) speichern, sodass komplexe Datenstrukturen einfach aktualisiert und abgerufen werden können.

Das flexible Dokumentmodell von MongoDB eignet sich ideal zum Speichern von Artikeln, Kommentaren, Nutzerdaten und anderen vielfältigen Inhalten ohne starre Schemas.

Einzelhandelsprodukte haben oft unterschiedliche Attribute (Größen, Farben, Materialien usw.). MongoDB kann diese unterschiedlichen Datenpunkte problemlos verarbeiten.

MongoDB kann große Mengen an Sensordaten, Ereignissen und Messwerten speichern und verarbeiten, sodass Echtzeit-Einblicke möglich sind.

Mit dem JSON-Format von MongoDB lassen sich Nutzerpräferenzen, Browserverläufe und personalisierte Inhalte ganz einfach speichern.

MongoDB-Alternativen

MongoDB kann die richtige Datenbank für eine Reihe von Anwendungen sein, insbesondere für solche, die auf semistrukturierten oder unstrukturierten Daten basieren – oder für Anwendungen, bei denen sich das Datenmodell wahrscheinlich weiterentwickeln wird. Es lohnt sich jedoch, auch andere Datenbankoptionen in Betracht zu ziehen, um die richtige Entscheidung zu treffen.

MongoDB, Apache Cassandra und SQL-Datenbanken bieten je nach Anwendungsfall unterschiedliche Vorteile. Sehen wir uns also einige Unterschiede an, damit Sie die richtige Option für Ihre Anwendung auswählen können.

Feature

SQL-Datenbanken (relational)

MongoDB (NoSQL)

Apache Cassandra (NoSQL)

Datenmodell

Tabellarisch (Zeilen und Spalten)

JSON-ähnliche Dokumente

Spaltenorientierter Speicher (flexible Spalten pro Zeile in einer Tabelle)

Schema

Starres, vordefiniertes Schema

Flexibles, dynamisches Schema

Strukturierter als eine Dokumentdatenbank, aber mit einer gewissen Flexibilität (Spalten können pro Zeile variieren)

Abfragesprache

SQL (Structured Query Language)

MongoDB Query Language (MQL)

Cassandra Query Language (CQL)

Skalierbarkeit

Vertikal (Scale-up), komplex horizontal

Horizontal (Scale-out) durch Sharding

Horizontal (Scale-out) über viele Knoten, für massive Verteilung konzipiert

Datenstruktur

Strukturierte Daten

Unstrukturierte, halbstrukturierte und strukturierte Daten

Unstrukturierte, halbstrukturierte und strukturierte Daten

Beziehungen

Fremdschlüssel und JOINs

Eingebettete Dokumente, Referenzen

Denormalisierung

Optimal für

Anwendungen, die eine hohe Datenkonsistenz und komplexe Abfragen mit JOINs erfordern

Schnelle Entwicklung, sich entwickelnde Datenmodelle und Benutzerfreundlichkeit

Extrem hoher Schreibdurchsatz, hohe Verfügbarkeit und große Datenmengen

Feature

SQL-Datenbanken (relational)

MongoDB (NoSQL)

Apache Cassandra (NoSQL)

Datenmodell

Tabellarisch (Zeilen und Spalten)

JSON-ähnliche Dokumente

Spaltenorientierter Speicher (flexible Spalten pro Zeile in einer Tabelle)

Schema

Starres, vordefiniertes Schema

Flexibles, dynamisches Schema

Strukturierter als eine Dokumentdatenbank, aber mit einer gewissen Flexibilität (Spalten können pro Zeile variieren)

Abfragesprache

SQL (Structured Query Language)

MongoDB Query Language (MQL)

Cassandra Query Language (CQL)

Skalierbarkeit

Vertikal (Scale-up), komplex horizontal

Horizontal (Scale-out) durch Sharding

Horizontal (Scale-out) über viele Knoten, für massive Verteilung konzipiert

Datenstruktur

Strukturierte Daten

Unstrukturierte, halbstrukturierte und strukturierte Daten

Unstrukturierte, halbstrukturierte und strukturierte Daten

Beziehungen

Fremdschlüssel und JOINs

Eingebettete Dokumente, Referenzen

Denormalisierung

Optimal für

Anwendungen, die eine hohe Datenkonsistenz und komplexe Abfragen mit JOINs erfordern

Schnelle Entwicklung, sich entwickelnde Datenmodelle und Benutzerfreundlichkeit

Extrem hoher Schreibdurchsatz, hohe Verfügbarkeit und große Datenmengen

MongoDB im Vergleich zu SQL-Datenbanken

SQL-Datenbanken (wie PostgreSQL) und NoSQL-Dokumentdatenbanken (wie MongoDB) stellen zwei grundlegende Ansätze für die Datenverwaltung dar.

Im Gegensatz zu MongoDB organisieren SQL-Datenbanken, auch relationale Datenbanken genannt, Daten in Tabellen. Jede Tabelle hat ein vordefiniertes Format mit Zeilen und Spalten. Daher werden SQL-Datenbanken im Vergleich zum Dokumentformat von MongoDB oft als „starr“ bezeichnet.

Der Reiz von SQL-Datenbanken wie PostgreSQL liegt in der Möglichkeit, komplexe Abfragen mit JOINs auszuführen und Informationen aus mehreren Tabellen mit hoher Effizienz zu kombinieren. Das könnte eine Abfrage wie „Zeige mir Kunden in Chicago über 30, die letzten Monat ein blaues Hemd gekauft haben“ sein.

MongoDB im Vergleich zu Apache Cassandra

MongoDB und Apache Cassandra sind leistungsstarke NoSQL-Datenbanken, die jedoch auf grundlegend unterschiedlichen Architekturen basieren und für unterschiedliche Anwendungsfälle optimiert sind.

Apache Cassandra ist ein spaltenorientierter Speicher, der Daten in Zeilen und Spalten organisiert. Das flexible Schema ermöglicht es, dass verschiedene Zeilen innerhalb derselben Spaltenfamilie unterschiedliche Spalten haben.

Außerdem ist sie dafür bekannt, riesige Datenmengen auf vielen Servern zu verarbeiten und eine hohe Verfügbarkeit und Schreibgeschwindigkeit in verteilten Systemen zu bieten.

Welche Datenbanken sind mit MongoDB kompatibel?

Wenn Sie mit MongoDB entwickeln möchten, haben Sie mehrere Möglichkeiten. Sie können die Datenbank direkt vom Hersteller MongoDB Inc. beziehen oder einen MongoDB-kompatiblen Dienst eines anderen Anbieters nutzen. Kompatibilität bedeutet, dass die MongoDB API und die Abfragesprache (MongoDB Query Language, MQL) unterstützt werden. Sie können also denselben Code, dieselben Treiber und dieselben Tools mit minimalen Änderungen verwenden und gleichzeitig von zusätzlichen Funktionen oder Leistungsvorteilen profitieren.

Hier sind einige der bekanntesten MongoDB-kompatiblen Optionen:

  • MongoDB Community und Enterprise: Dies sind die ursprünglichen, herunterladbaren Versionen von MongoDB. Sie können sie in Ihrer eigenen Infrastruktur ausführen und haben so die vollständige Kontrolle über Ihre Bereitstellung.
  • MongoDB Atlas: Eine Datenbank-as-a-Service-Option (DBaaS) von den Entwicklern von MongoDB. Atlas ist ein vollständig verwalteter Cloud-Dienst, der die gesamte Infrastruktur, Skalierung, Sicherung und Sicherheit übernimmt. Es wird auf mehreren Cloud-Plattformen angeboten, darunter Google Cloud.
  • Firestore: Eine weitere vollständig verwaltete Option für Entwickler, die sich auf das Erstellen von Anwendungen konzentrieren möchten, ohne sich um den Betrieb kümmern zu müssen. Firestore ist eine NoSQL-Dokumentendatenbank mit einer Reihe einzigartiger Funktionen, die wir im Folgenden näher erläutern.
  • Amazon DocumentDB: Ein verwalteter Datenbankdienst von Amazon Web Services (AWS), der mit der MongoDB API kompatibel ist. Es ist als direkter Ersatz für Anwendungen konzipiert, die bereits MongoDB verwenden und in der AWS-Infrastruktur ausgeführt werden sollen.
  • Azure Cosmos DB: Der global verteilte Multi-Modell-Datenbankdienst von Microsoft bietet auch eine API für MongoDB. So können Sie mit den vertrauten MongoDB-Tools und -Kenntnissen Anwendungen auf der Azure-Cloud-Plattform entwickeln.

FAQs zu MongoDB

Eine Dokumentdatenbank ist eine Art von NoSQL-Datenbank, die Daten in flexiblen Einheiten speichert, die als „Dokumente“ bezeichnet werden und in der Regel in einer JSON-ähnlichen Struktur formatiert sind. Im Gegensatz zu einer Tabelle mit Zeilen und Spalten werden Informationen in diesen Dokumenten in Feld-Wert-Paaren formatiert, z. B. „Name“: „John“.

Jedes Dokument enthält in der Regel Daten zu einem Objekt, z. B. einem Produkt aus Ihrem Inventar. In einer Sammlung von Dokumenten können Sie verschiedene Felder verwenden. Daher eignet sich diese Art von Datenbank hervorragend, wenn Sie nicht vorab eine perfekte Datenstruktur erstellen möchten, bevor Sie mit der Entwicklung Ihrer Anwendung beginnen – oder wenn Sie Informationen über Objekte mit einer Vielzahl von Variablen speichern.

Welche Art von Datenbank Sie wählen, hängt von der Art der Daten ab, die Sie speichern, den Anforderungen Ihrer Anwendung und dem Grad an Flexibilität, den Sie benötigen.

Eine Dokumentdatenbank eignet sich hervorragend für Daten mit vielen Variablen, bei denen nicht jedes Objekt die gleichen Felder benötigt. Die Flexibilität von Dokumentdatenbanken macht sie auch bei Entwicklern beliebt, die schnell mit einer Datenstruktur arbeiten möchten, die sich im Laufe der Zeit ändern kann.

Eine relationale Datenbank ist dagegen die bessere Wahl, wenn Sie eine strenge Datenkonsistenz benötigen, z. B. bei Nutzerkonten, bei denen jeder Eintrag genau dieselben Felder enthalten muss. Wenn Ihre Anwendung auf komplexen Abfragen mit JOINs basiert, bei denen Daten aus mehreren Tabellen abgerufen werden, um ein Ergebnis zu erzielen, ist eine relationale Datenbank das ideale Tool für diese Aufgabe.

MongoDB unterstützt eine Vielzahl von Programmiersprachen für die Interaktion mit der Datenbank, darunter JavaScript, Python, Java, C#, C++ und viele andere. Die MongoDB Query Language (MQL), die für Datenbankvorgänge verwendet wird, ist eine JSON-ähnliche Sprache.

MongoDB gilt als relativ einfach zu erlernen, da die JSON-ähnliche Datenstruktur (BSON) und das flexible Schema die grundlegende Datenspeicherung und ‑abfrage für moderne Entwickler intuitiv machen. Für fortgeschrittene Anwendungsfälle kann es jedoch schwieriger zu beherrschen sein, hauptsächlich aufgrund der Komplexität der Entwicklung effizienter Datenmodelle (Einbettung vs. Referenzierung) und der Beherrschung des mehrstufigen Aggregations-Frameworks, das für komplexe Abfragen und eine leistungsstarke Skalierung erforderlich ist.

Was ist Firestore mit MongoDB-Kompatibilität?

Firestore ist eine vollständig verwaltete Dokumentendatenbank, die eine einfache Cloud-Datenverwaltung mit nahtloser Einbindung in Firebase bietet – eine Plattform, die für die Entwicklung von KI-Anwendungen und ‑Agenten konzipiert wurde.

Firestore ist vollständig mit MongoDB-Treibern, ‑Tools und ‑Code kompatibel. So können Sie einfacher ein neues Projekt starten oder eine vorhandene Anwendung migrieren und dabei eine vertraute Abfragesprache und Funktionalität beibehalten.

  • Vollständig von Google Cloud verwaltet: Alle betrieblichen Verwaltungsaufgaben wie Skalierung, Aktualisierung, Back-ups und Sicherheit werden von Google übernommen.
  • Echtzeit-Updates: Nutzer erhalten Live-Daten. Firestore eignet sich hervorragend für die Echtzeit-Datensynchronisierung und ist daher ideal für Anwendungen, die Live-Updates erfordern, wie Chat-Anwendungen, Tools für die Zusammenarbeit oder mobile Apps, bei denen Daten sofort aktualisiert werden müssen.
  • Globale Skalierbarkeit: Dank der automatischen Skalierung und der multiregionalen Datenreplikation von Firestore können Sie mühelos mit dem Wachstum Schritt halten und Nutzern weltweit eine geringe Latenz bieten – ohne dass Sie Kapazität, Sharding oder Speicher bereitstellen müssen.
  • Branchenführende Verfügbarkeit und Leistung: Firestore bietet eine branchenführende Hochverfügbarkeit mit einem SLA von bis zu 99,999% und eine Leselatenz von nur wenigen Millisekunden.
  • Vektordatenbank: Sie können Vektoreinbettungen speichern und eine Vektorsuche in Ihren Daten in Firestore ausführen. So können Sie schnelle Ähnlichkeitssuchen durchführen, die das Rückgrat moderner KI-Anwendungen und ‑Agenten bilden.
  • Integrierte Google Cloud-Einbindung: Als Teil von Google Cloud und Firebase bietet Firestore eine nahtlose Einbindung in Firebase Auth, BigQuery und viele andere leistungsstarke Dienste.
  • Kostenlose Stufe für geringe Nutzung: Firestore bietet eine kostenlose Stufe, die sich ideal für Start-ups oder kleinere Projekte eignet, die ohne Vorabkosten skalieren möchten.

Gleich loslegen

Mit der jetzt verfügbaren kostenlosen Stufe können Sie eine leistungsstarke, skalierbare Dokumentdatenbank testen. Profitieren Sie von einem Guthaben in Höhe von 300 $, um Google Cloud und mehr als 20 immer kostenlose Produkte kennenzulernen.

Google Cloud