MongoDB

MongoDB ist eine Datenbank, die jeden Datensatz als eigenes, flexibles Dokument ablegt, sodass zwei Produkte ganz unterschiedliche Angaben tragen können.

Auch bekannt als NoSQL-Datenbank Dokumentendatenbank Mongo

Definition

MongoDB ist ein Ort für Ihre Daten, und anders ist vor allem die Form, in der es sie ablegt. Die meisten Datenbanken arbeiten wie eine Tabelle, in der jede Zeile dieselben Spalten hat und sie ausfüllen muss. MongoDB legt dagegen jeden Datensatz für sich ab, in einem kleinen Block namens Dokument, sodass er nur die Felder trägt, die er wirklich braucht.

Ein Produktkatalog zeigt, warum das zählt, denn ein Schuh hat Größe und Farbe, während ein Laptop Prozessor und Bildschirmgröße hat. Eine Tüte Kaffee teilt weder das eine noch das andere, weil sie ein Röstdatum braucht. Drücken Sie alle drei in eine Tabelle, bekommen Sie Dutzende Spalten, die bei fast jedem Produkt leer bleiben, und genau dieses Durcheinander vermeidet MongoDB. Dort speichert der Schuh Schuhsachen, der Laptop Laptopsachen, und keiner weiß etwas vom anderen.

Diese Freiheit hat einen Preis, und davor warnt niemand. Nichts hindert zwei Datensätze daran, sich zu widersprechen, also speichert ein Produkt seinen Preis als Zahl 100, während das nächste denselben Preis als Text "100" ablegt. Beides geht ohne Widerspruch durch. Dann sortiert jemand den Katalog nach Preis und die Liste kommt falsch heraus, denn Text wird Buchstabe für Buchstabe verglichen und "100" landet vor "9". Die Regeln sind nicht verschwunden. Sie sind nur in die Software gewandert, die Ihr Team schreibt, und das bedeutet mehr Arbeit statt weniger. Deshalb legt Linkysoft diese Regeln am ersten Tag eines Projekts für eine Webanwendung fest, denn sie später über eine Million alte Datensätze zu reparieren ist eine schlechte Woche.

MongoDB passt also, wenn die Datensätze wirklich verschieden sind, etwa Produktkataloge, Formularantworten, Aktivitätsprotokolle und alles, dessen Form sich mit dem Geschäft ändert. Schlecht passt es dort, wo die Daten ordentlich sind und die Summen exakt stimmen müssen, weshalb eine gewöhnliche Tabellendatenbank für Rechnungen und Zahlungen sicherer bleibt. Viele Systeme betreiben deshalb beide zugleich. Ein Ladensystem wie Storek trägt den Katalog, der ständig die Form wechselt, neben dem Geld, das nie falsch gerundet werden darf.

Stellen Sie jedem Anbieter vor der Unterschrift eine Frage, nämlich was passiert, wenn ein Feld nächstes Jahr eine andere Bedeutung bekommt. Lautet die Antwort, man schreibe einfach ein neues Feld, dann fragen Sie, wer die alten Datensätze in Ordnung bringt. Stellen Sie die Frage danach für das Handy noch einmal, denn eine mobile App, die ohne Netz weiterarbeitet, hält Dokumente tagelang auf dem Gerät. Manche Geräte laufen noch mit der Version vom Vorjahr, und darum behandelt Linkysoft das als Frage des Entwurfs und nicht der Datenbank. Die Antwort entscheidet meist über ein ruhiges oder ein mühsames zweites Jahr.

Fragen zu MongoDB

Ist MongoDB besser als MySQL?
Keine von beiden ist besser. Sie halten verschiedene Formen. MySQL ist stärker, wenn alle Datensätze gleich aussehen und die Summen exakt stimmen müssen. MongoDB ist stärker, wenn sie sich wirklich unterscheiden.
Ist MongoDB kostenlos?
Es gibt eine kostenlose Version für den eigenen Server. Daneben gibt es einen bezahlten Dienst, bei dem der Anbieter alles betreibt und nach Nutzung abrechnet. Die meisten Projekte starten kostenlos.
Bekomme ich meine Daten später wieder aus MongoDB heraus?
Ja. Der Export läuft in gewöhnliche Textdateien, die jedes andere System lesen kann. Schwierig ist nicht der Export: Die Bedeutung jedes Feldes steckt in Ihrer Software und muss mitwandern.
Braucht MongoDB trotzdem Sicherungen?
Ja, täglich, und eine Kopie gehört an einen anderen Ort. Eine flexible Datenbank schützt vor einem gelöschten Datensatz oder einem schlechten Update genauso wenig wie jede andere.
Ist MongoDB für einen kleinen Betrieb geeignet?
Nicht die Größe entscheidet, sondern die Form der Daten. Ein Laden mit fünfhundert sehr verschiedenen Produkten passt gut, eine Praxis mit ordentlichen Patientenakten meist nicht.

Immer noch unsicher, was das für Ihr Projekt bedeutet?

Sagen Sie uns, was Sie bauen, und wir antworten in klarer Sprache.