Data Stores

MongoDB – der NoSQL-Gigant

MongoDB ist eine dokumentenoriente, schemafreie NoSQL-Datenbank, die als Open Source verfügbar ist. Sie ist eine der am weitesten verbreiteten NoSQL-Datenbanklösungen.

NoSQL-Datenbank MongoDB

MongoDB ist eine hochperformante, dokumentenoriente NoSQL-Datenbank, die als Open Source verfügbar ist. Der Name MongoDB leitet sich vom engl. humongous ab, was so viel wie gigantisch, wahnsinnig groß bedeutet.

Ein Dokument ist eine geordnete Menge von Key/Value-Paaren, wobei unter einem Schlüssel auch Arrays oder wiederum Dokumente abgelegt werden können.

Objektnetze lassen sich so sehr einfach auf ein Dokument abbilden, der sog. Impedance Mismatch relationaler Datenbanksysteme entfällt.

Zentrale Features von MongoDB sind:

  • Schema-Freiheit: Dokumente werden in logischen Namensräumen, den sog. Collections, zusammengefasst. Dabei existiert kein Schema, das diesen Dokumenten Restriktionen auferlegt (außer dem Vorhandensein eines Primärschlüssel-Feldes). Somit lassen sich auch gut semistrukturierte Daten abspeichern.
  • Sekundäre Indizes: Neben dem Zugriff über einen obligatorischenen Primärschlüssel unterstützt MongoDB auch Sekundär-Indizes auf einzelnen Feldern oder Feldgruppen. Bei Abfragen ist also die Struktur der Dokumente einsehbar, anders als z. B. bei reinen Key/Value-Stores.
  • Geodaten-Unterstützung: Durch die Unterstützung der GeoJSON-Spezifikation können Daten und Abfragen zu geografischen Objekten sehr einfach erfasst und ausgeführt werden.
  • Replikation: Replikation der Daten ist integraler Bestandteil eines MongoDB-Setups. Da bei MongoDB bewusst auf das ACID-Paradigma relationaler Datenbanken verzichtet wurde, sollten produktive Systeme stets in einem Replica Set betrieben werden. Replica Sets bieten sich auch zur Skalierung von Lesezugriffen an.
  • Sharding: Die horizontale Skalierung (Scale-out) wird bei MongoDB über das sog. Sharding erreicht. Damit wird der gesamte Datenbestand disjunkt auf (viele) verschiedene Shard-Knoten verteilt, so dass zum einen Volumina im Petabyte-Bereich adressiert werden können, zum anderen eine hinreichend gute Performanz bei Schreibzugriffen gegeben ist.
  • Seit Version 3.2. unterstützt MongoDB auch Joins und Schema-Validierung.

Nehmen Sie Kontakt mit uns auf.

Jetzt informieren!