MongoDB FAQ

Was die NoSQL-Datenbank kann

19.08.2020
Von 
Jürgen Hill ist Teamleiter Technologie. Thematisch ist der studierte Diplom-Journalist und Informatiker im Bereich Communications mit all seinen Facetten zuhause. 
MongoDB gehört zu den Shooting Stars unter den dokumentenorientierten NoSQL-Datenbanken. Was Sie über die Datenbank wissen sollten, lesen Sie in unserem Artikel.

Eine der populärsten NoSQL-Datenbanken ist derzeit MongoDB. So populär wie die Datenbank ist, so vielfältig sind die Fragen rund um MongoDB. Wir haben deshalb eine FAQ mit allen wissenswerten Informationen rund um die Datenbank erstellt. Zur Beantwortung der Fragen konnten wir mit Eliot Horowitz einen ausgewiesenen Experten gewinnen, denn er ist einer der Gründer von MongoDB und war früher CTO des Unternehmens.

MongoDB ist die beliebteste dokumentenorientierte Datenbank der Welt. In diesem Artikel beantworten wir die wichtigsten Fragen zur NoSQL-Datenbank.
MongoDB ist die beliebteste dokumentenorientierte Datenbank der Welt. In diesem Artikel beantworten wir die wichtigsten Fragen zur NoSQL-Datenbank.
Foto: Michael Vi - shutterstock.com

Horowitz begann 2007 den Basiscode für MongoDB zu schreiben und baute anschließend das Entwickler- und Produktteam auf.

Was ist MongoDB?

Horowitz: MongoDB ist eine moderne und vielseitig einsetzbare Datenbankplattform, die ich 2007 zusammen mit Dwight Merriman und Kevin Ryan gegründet habe. Damals ist mir bei sämtlichen Softwareentwicklungsprojekten, an denen ich beteiligt war, aufgefallen, dass relationale Datenbanken bei der Entwicklung moderner Applikationen ihre Grenzen haben. Dies gab letztlich den Anstoß, eine Datenbank zu entwickeln, die Developer gerne nutzen und die ihre Arbeit einfacher macht. Laut einer aktuellen Studie von Stack Overflow gilt MongoDB unter Entwicklern als die beliebteste Datenbanken und auch die Datenbank-Tracking-Seite "DB-Engines" führt MongoDB als die fünftbeliebteste Datenbank der Welt auf. Bei den dokumentenorientierten Datenbanken listet DB-Engines MongoDB auf Rang Eins.

Mittlerweile haben wir mehr als 17.000 Kunden in über 100 Ländern und unsere Datenplattform wurde über 90 Millionen Mal heruntergeladen. Mit der globalen Cloud-Datenbank MongoDB Atlas sind wir zudem auch auf dem Cloud-Markt vertreten. Seit dem Release 2016 nutzen bereits über 15.000 Kunden weltweit MongoDB Atlas. Atlas ist sowohl über AWS, Azure, als auch die Google Cloud Platform verfügbar.

MongoDB leitet sich vom englischen Wort "humongous" ab, was so viel wie "gigantisch" bedeutet. Wir haben schnell erkannt, dass eines der größten Probleme für große digitale Unternehmen die Skalierbarkeit ihrer Datenbanken ist. MongoDB wurde daher als besonders skalierbare Datenbank konzipiert und aus dieser "gigantischen Datenbank" wurde dann MongoDB.

Was unterscheidet MongoDB von anderen Datenbanken?

Horowitz: MongoDB wurde speziell entwickelt, um mehr Flexibilität und Skalierbarkeit für die Datenspeicherung und -nutzung anzubieten. Das JSON-Dokumentenmodell ermöglicht Entwicklern ein intuitiveres und dadurch produktiveres Arbeiten mit Daten. Heutzutage verlassen sich Unternehmen immer noch auf relationale Datenbanken wie Oracle. Diese Technologien haben mittlerweile ausgedient; sie verwenden Zeilen, Spalten und Tabellen zur Datenspeicherung. Dadurch werden sie schnell starr, langsam und nahezu unmöglich zu verwalten. Man stelle sich Microsoft Excel vor, aber auf Steroiden.

Die NoSQL-Datenbank MongoDB verwendet das JSON-Dokumentenmodell.
Die NoSQL-Datenbank MongoDB verwendet das JSON-Dokumentenmodell.
Foto: Profit Image - shutterstock.com

Diese Modelle erfüllen die modernen Anforderungen unserer digitalisierten Welt nicht mehr. Sie wurden vor über 40 Jahren entwickelt, das war vor der Cloud, vor dem Mobilfunk und sogar vor dem Internet. Diese relationalen Datenbanken basieren noch immer auf dem damaligen Stand der Technik. MongoDB ist eine moderne Datenbank, die entworfen wurde, um den Anforderungen heutiger und künftiger Anwendungen gerecht zu werden. Außerdem ermöglicht MongoDB seinen Nutzern zusätzliche Funktionen wie Atlas Search und Atlas Data Lake - Funktionen, die über die normale Datenverwaltung einer Kerndatenbank hinausgehen.

Das Dokumentenmodell von MongoDB verwendet ein grundlegend anderes Paradigma als traditionelle relationale Datenbanken, was das Schema anbetrifft. So sind in MongoDB die Dokumente intuitiv. Das bedeutet, es braucht hier keinen zentralen Katalog, in dem Schemata deklariert und gepflegt werden. Und so kann das Schema von Dokument zu Dokument variieren und sich schnell weiterentwickeln, ohne dabei bestehende Daten zu verändern. Wenn man an einen Punkt kommt, an dem man sicherstellen möchte, dass die Daten einem bestimmten Schema entsprechen, kann ein Schema eingeführt werden, das Dokumentenmodell bleiben aber insgesamt flexibel.

Das dynamische Schema von MongoDB erleichtert die Anzeige halbstrukturierter und polymorpher Daten, da die Dokumente nicht alle exakt die gleichen Felder haben müssen. Beispielsweise kann eine Sammlung zum Thema "Finanzhandel" verschiedene Positionen enthalten, die, sagen wir Aktienpositionen, einige Anleihen oder Cash-Positionen sind. Sie alle können einige Felder als gemeinsamen Nenner haben, aber bestimmte Felder (etwa "Ticker", "Anzahl der Aktien") gelten dann wiederum nicht für alle Arten von Positionen.

Das Dokumentenmodell von MongoDB verwendet ein grundlegend anderes Paradigma als traditonelle relationale Datenbanken, was das Schema anbetrifft.
Das Dokumentenmodell von MongoDB verwendet ein grundlegend anderes Paradigma als traditonelle relationale Datenbanken, was das Schema anbetrifft.
Foto: whiteMocca - shutterstock.com

MongoDB verwaltet zudem automatisch Replica Sets, das heißt mehrere Kopien von Daten, die auf Server, Racks und Datenzentren verteilt sind. Replica Sets helfen durch native Replikation und automatischen Failover, Ausfallzeiten der Datenbank zu vermeiden.

Wofür ist MongoDB besonders geeignet?

Horowitz: Aufgrund des flexiblen Schemas eignet sich die Plattform besonders gut für komplexe Anwendungen mit einer hohen Zahl an unstrukturierten Daten. Die Tatsache, dass die Dokumente so flexibel sind, dass sie die Funktionalität vieler Datenmodelle abdecken können, macht sie zu einer universell einsetzbaren Datenbank, die für die meisten Anwendungsfälle geeignet ist. Zu den Kunden zählen die weltweit größten Banken, Telekommunikationsunternehmen, Gesundheitsdienstleister und Medienmarken sowie einige der am schnellst wachsenden Cloud Native Startups.

Zu den Kunden aus Deutschland zählen unter anderem Amadeus, der führende Anbieter von IT-Lösungen für die Reisebranche, sowie der Autobauer Daimler mit seiner Anwendung Telediagnosis oder die Bosch-Gruppe, die MongoDB für ihre IoT-Anwendungen und -Daten nutzt.

Einer der Referenzanwender hierzulande ist Bosch. Dort wird MongoDB für IoT-Anwendungen und -Daten genutzt.
Einer der Referenzanwender hierzulande ist Bosch. Dort wird MongoDB für IoT-Anwendungen und -Daten genutzt.
Foto: Bosch

Wie skaliert MongoDB?

Horowitz: Das Sharding mit MongoDB ermöglicht es Entwicklern, ihre Datenbank über mehrere Replica Sets zu skalieren, um schreibintensive Arbeitslasten und wachsende Datenmengen zu bewältigen. Auf diese Weise können die Anwender ihre Datenbank nahtlos skalieren, wenn ihre Anwendungen über die Hardwarebeschränkungen eines einzelnen Servers hinauswachsen. Der Vorteil ist, dass die Anwendungskomplexität dabei nicht erhöht werden muss und es entstehen keine Ausfallzeiten.

Um auf sich ändernde Anforderungen, bedingt durch den Workload, reagieren zu können, lassen sich Dokumente zwischen Shards verschieben und dem Cluster können in Echtzeit Knoten hinzugefügt oder entfernt werden. MongoDB gleicht Daten bei Bedarf automatisch und ohne manuellen Eingriff neu aus.

Das Ziel ist, allen Anwendern die Freiheit zu geben, von überall auf unseren Service zugreifen zu können. Ein Vorteil von MongoDB ist daher, dass MongoDB wirklich überall eingesetzt werden kann: auf einem Laptop oder Mainframe, On-Premises oder in der Cloud, und zwar mit sämtlichen Cloud-Anbietern - von AWS über Azure bis zur Google Cloud Platform. Mit der zunehmenden Akzeptanz von Cloud Computing sehen wir eine steigende Nachfrage nach MongoDB Atlas. Unsere Experten verwalten MongoDB Atlas in jeder öffentlichen Cloud und gewährleisten so Leistungsoptimierung und Sicherheitskonfiguration. Damit können sich Programmierer einfach auf die Entwicklung ihrer Anwendungen konzentrieren - auf ihr Kerngeschäft.

Wie steht es mit der Lizenzierung?

Horowitz: Die SSPL klärt die Bedingungen für die öffentliche Bereitstellung von MongoDB als kommerzielle Dienstleistung Dritter, um sicherzustellen, dass wir weiterhin in den Aufbau von MongoDB für unsere Benutzer investieren können. Unter der SSPL steht es den Benutzern frei, die Software zu überprüfen, zu modifizieren und zu verteilen oder Änderungen an der Software in Übereinstimmung mit unserer SSPL-Lizenz weiterzugeben.

Eliot Horowitz ist einer der Mitgründer von MongoDB und war früher CTO des Unternehmens.
Eliot Horowitz ist einer der Mitgründer von MongoDB und war früher CTO des Unternehmens.
Foto: MongoDB

Erfordert MongoDB Expertenwissen?

Horowitz: Nein, absolut nicht. Jeder kann ein MongoDB-Experte werden. Unsere MongoDB University bietet kostenlose Online-Kurse - egal ob für Anfänger oder fortgeschrittene Entwickler. Neben Online-Kursen finden in der MongoDB University auch regelmäßige Community-Veranstaltungen statt, um sich auszutauschen und noch mehr über die Datenbank zu lernen.