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?
Ist MongoDB kostenlos?
Bekomme ich meine Daten später wieder aus MongoDB heraus?
Braucht MongoDB trotzdem Sicherungen?
Ist MongoDB für einen kleinen Betrieb geeignet?
Immer noch unsicher, was das für Ihr Projekt bedeutet?
Sagen Sie uns, was Sie bauen, und wir antworten in klarer Sprache.