Beim Vergleich MongoDB vs. DynamoDB fällt ins­be­son­de­re die un­ter­schied­li­che Her­an­ge­hens­wei­se, Daten zu speichern und zu verwalten, ins Auge. Zudem ist DynamoDB voll­stän­dig in den AWS-Kosmos ein­ge­bet­tet, während MongoDB mehr Frei­hei­ten bietet.

MongoDB vs. DynamoDB: Zwei emp­feh­lens­wer­te NoSQL-Dienste

Während früher kaum ein Weg an der klas­si­schen SQL-Datenbank vor­bei­führ­te, sorgte das Aufkommen immer größerer Da­ten­men­gen dafür, dass An­wen­dun­gen und Websites einen neuen Umgang mit Daten benötigen. Die Lösung sind in vielen Fällen so­ge­nann­te NoSQL-Systeme (Not only SQL) wie MongoDB und DynamoDB, die nicht re­la­tio­nal arbeiten und dadurch deutlich flexibler und vor allem besser ska­lier­bar sind. Statt auf Tabellen setzen diese Lösungen mehr­heit­lich auf Dokumente, wodurch sie auch un­struk­tu­rier­te oder halb­struk­tu­rier­te Daten platz­spa­rend und über­sicht­lich speichern können. Wachsen die An­for­de­run­gen eines Un­ter­neh­mens, so wächst auch die Datenbank pro­blem­los mit.

Was ist MongoDB?

MongoDB wurde 2009 von 10gen (heute MongoDB, Inc.) ver­öf­fent­licht und ist seitdem zu einer der be­lieb­tes­ten Lösungen im Bereich der SQL-Da­ten­bank­ma­nage­ment­sys­te­me geworden. Die Software ist in C++ ge­schrie­ben und speichert Daten in Form von binären JSON-Do­ku­men­ten (BSON) ab. MongoDB ist Open Source, wird unter der Server Side Public License (SSPL) ver­trie­ben und bietet optionale kom­mer­zi­el­le Sup­port­pa­ke­te. Die Datenbank, die ihren Namen dem eng­li­schen Begriff „huMONGOus“ (dt. „gi­gan­tisch) verdankt, ist bekannt für ihre Fle­xi­bi­li­tät und Ska­lier­bar­keit. Für Abfragen nutzt MongoDB die MongoDB Query Language (MQL).

Was ist DynamoDB?

DynamoDB gibt es seit 2012. Die ser­ver­lo­se NoSQL-Datenbank stammt von Amazon und wird von AWS (Amazon Web Services) als komplett ver­wal­te­ter Service zur Verfügung gestellt. Die Anwendung ist pro­prie­tär und wurde ur­sprüng­lich in Java ge­schrie­ben, um die immer größeren Da­ten­men­gen der haus­ei­ge­nen E-Commerce-Ak­ti­vi­tä­ten zu verwalten. Die Datenbank arbeitet do­ku­men­ten­ori­en­tiert und gilt als eine der schnells­ten und am besten ska­lier­ba­ren Lösungen im NoSQL-Segment. Zwar nutzt auch DynamoDB Tabellen, diese sind al­ler­dings nicht re­la­tio­nal. Durch seinen Aufbau eignet sich das System nicht nur besonders gut für große Un­ter­neh­men, sondern auch für kleinere Firmen, deren Da­ten­men­gen und Workloads im Laufe der Zeit steigen.

MongoDB vs. DynamoDB: Ein­satz­zwe­cke und Ska­lier­bar­keit

Im Vergleich MongoDB vs. DynamoDB lassen sich für die beiden NoSQL-Da­ten­ban­ken natürlich ähnliche Ein­satz­zwe­cke fest­stel­len: Überall dort, wo große Da­ten­men­gen über­sicht­lich ge­spei­chert und verwaltet werden müssen, sind die beiden Systeme ein­setz­bar. MongoDB bedient sich für die ho­ri­zon­ta­le Ska­lie­rung einer Technik namens Sharding. Dabei werden große Da­ten­sät­ze au­to­ma­tisch auf­ge­teilt und die Last wird auf mehrere Server verteilt. Da das System auch ohne Probleme mit un­struk­tu­rier­ten Daten arbeiten kann, eignet es sich her­vor­ra­gend für die Ver­wal­tung und Be­reit­stel­lung von Websites und E-Commerce-An­wen­dun­gen. Sämtliche be­nö­tig­ten Inhalte, ein­schließ­lich Bilder oder Videos, werden dabei in einem Dokument ge­spei­chert. Der Abruf erfolgt un­mit­tel­bar und ohne merkliche Zeit­ver­zö­ge­run­gen im laufenden Betrieb.

DynamoDB bietet ähnliche Ein­satz­op­tio­nen. Amazon selbst empfiehlt die haus­ei­ge­ne Datenbank unter anderem für An­wen­dun­gen, Medien-Workloads, E-Commerce und Spie­le­platt­for­men. Dieser Anspruch ist durchaus ver­ständ­lich: Das System muss sich im Vergleich MongoDB vs. DynamoDB nicht ver­ste­cken und bietet – zumindest theo­re­tisch – un­end­li­che Ska­lie­rungs­mög­lich­kei­ten.

Einer der größten Un­ter­schie­de zwischen beiden Systemen ist al­ler­dings die Ein­bin­dung in AWS. DynamoDB funk­tio­niert nicht außerhalb dieses Öko­sys­tems und eignet sich daher nur für Nut­ze­rin­nen und Nutzer, die mit dieser Ein­schrän­kung leben und arbeiten können. Man erhält dafür eine um­fang­rei­che Ver­wal­tung und pro­fi­tiert von extrem schnellen Lese- und Schreib­vor­gän­gen selbst bei rasant stei­gen­den Da­ten­vo­lu­men.

Funk­ti­ons­wei­se

Zwar mögen beide Da­ten­ban­ken ähnliche Ziele verfolgen, ver­gleicht man MongoDB vs. DynamoDB jedoch genauer, erkennt man schnell die un­ter­schied­li­chen Ansätze: MongoDB ver­zich­tet komplett auf die SQL-typischen Tabellen und speichert Daten statt­des­sen in Do­ku­men­ten, die wiederum in Samm­lun­gen gebündelt werden. Diese Dokumente im BSON-Format bestehen aus Schlüssel-Wert-Paaren, können un­ter­schied­li­che Schemata haben und lassen sich durch Hin­zu­fü­gen oder Löschen eines Feldes verändern. Während Schlüssel immer aus Zei­chen­fol­gen bestehen, können Werte unter anderem ebenfalls Zei­chen­fol­gen, andere Dokumente, Arrays oder boolsche Werte enthalten. Die Textsuche in MongoDB erfolgt via Textindex.

DynamoDB funk­tio­niert als NoSQL-Schlüs­sel­wert­spei­cher, der Daten auf SSD-Fest­plat­ten ablegt. Die Daten können sche­ma­frei als Zah­len­wer­te, Strings oder binär hin­ter­legt werden. Die In­for­ma­tio­nen werden in nicht-re­la­tio­na­le Tabellen un­ter­teilt, die aus Artikeln bestehen, die min­des­tens ein Attribut enthalten müssen. Zum Schreiben und Lesen stehen die Ope­ra­tio­nen „Create“, „Read“, „Update“ und „Delete“ zur Verfügung.

Da­ten­struk­tur

Un­ter­schie­de bei der Ge­gen­über­stel­lung MongoDB vs. DynamoDB gibt es auch hin­sicht­lich der Da­ten­struk­tur und maximalen Da­ten­grö­ße. Das Spei­cher­for­mat von MongoDB heißt BSON und ist eine binäre Form der Ja­va­Script Object Notation (JSON), das ohne Schema auskommt. Möchten Sie ein neues Dokument erstellen, müssen Sie im Vorfeld keine eigene Sammlung kreieren. Statt­des­sen legen Sie mit einem einfachen Befehl das Dokument an, das dann entweder in eine be­stehen­de Coll­ec­tion eingefügt wird oder diese au­to­ma­tisch kreiert. Das System erlaubt Daten mit einer maximalen Größe von 16 MB.

Die Da­ten­struk­tur von DynamoDB erinnert hingegen deutlich mehr an die Ta­bel­len­form klas­si­scher SQL-Lösungen. Auch hier gibt es Tabellen, die Elemente mit be­stimm­ten Ei­gen­schaf­ten enthalten, wobei die Anzahl dieser Ei­gen­schaf­ten variieren darf. Bevor Sie eine Tabelle nutzen können, müssen Sie diese erst erstellen und einen Pri­mär­schlüs­sel de­fi­nie­ren, der die Daten par­ti­tio­niert. Jede dieser Par­ti­tio­nen enthält drei Knoten mit einer Kopie der Daten. Da die Datenbank komplett vom System verwaltet wird, ist dieser Vorgang voll­stän­dig au­to­ma­ti­siert. Einen merk­li­chen Un­ter­schied zwischen MongoDB vs. DynamoDB gibt es auch bei der Größe der ge­spei­cher­ten Dokumente: Beim Dienst von Amazon liegt die Grenze bei maximal 400 KB.

Ver­füg­bar­keit der Daten

Stan­dard­mä­ßig un­ter­teilt DynamoDB die drei erwähnten Knoten in einen Pri­mär­kno­ten (Leader Node) und zwei un­ter­ge­ord­ne­te Knoten. Auf dem Pri­mär­kno­ten werden alle Schreib- und Le­se­vor­gän­ge zuerst aus­ge­führt. Erst danach erfolgt eine Re­pli­ka­ti­on auf die beiden un­ter­ge­ord­ne­ten Knoten. Es gibt al­ler­dings auch die Mög­lich­keit, die Le­se­vor­gän­ge auf alle drei Knoten zu verteilen, um dadurch Leis­tungs­ein­bu­ßen vor­zu­beu­gen.

Auch die etwas ältere Lösung im Vergleich MongoDB vs. DynamoDB verteilt die Daten auf mehrere Knoten und beugt so Problemen durch einen Ser­ver­aus­fall vor. Ähnlich wie bei der Kon­kur­renz von Amazon gibt es einen primären Knoten, der die Schreib­vor­gän­ge empfängt und die Daten dann für die un­ter­ge­ord­ne­ten Knoten zur Verfügung stellt. Sollte der Haupt­kno­ten ausfallen, rückt au­to­ma­tisch einer der anderen Knoten an seine Stelle und wird zum Lead Node, der dank der Re­pli­ka­ti­on bereits alle Daten enthält. Dieser Vorgang kann al­ler­dings bis zu 60 Sekunden dauern.

In­fra­struk­tur, Kom­pa­ti­bi­li­tät und Pro­gram­mier­spra­chen

Einer der deut­lichs­ten Un­ter­schie­de zwischen MongoDB vs. DynamoDB ist die Be­reit­stel­lung und In­fra­struk­tur der beiden Services. MongoDB ist eine komplett kos­ten­lo­se Open-Source-Lösung mit pro­prie­tä­ren Support-Angeboten. Das Da­ten­bank­ma­nage­ment­sys­tem ist kom­pa­ti­bel mit den meisten Cloud-Lösungen, Be­triebs­sys­te­men und Con­tai­nern. Wieviel Kontrolle und Ver­wal­tungs­auf­wand nötig und möglich sind, liegt dabei ganz bei der Nutzerin oder dem Nutzer. Die Datenbank muss selbst­stän­dig kon­fi­gu­riert und gewartet werden. Dies kann ei­ner­seits an­spruchs­voll und zeit­auf­wen­dig sein, bietet an­de­rer­seits aber auch viele Frei­hei­ten.

Compute Engine
Die ideale IaaS für Ihre Workloads
  • Kos­ten­güns­ti­ge vCPUs und leis­tungs­star­ke de­di­zier­te Cores
  • Höchste Fle­xi­bi­li­tät ohne Min­dest­ver­trags­lauf­zeit
  • Inklusive 24/7 Experten-Support

DynamoDB verfolgt einen anderen Ansatz: Die Datenbank ist Teil des AWS-Öko­sys­tems und funk­tio­niert nicht außerhalb dieses Umfelds. Zwar arbeitet DynamoDB dadurch optimal mit anderen Tools aus dem Hause Amazon zusammen – darüber hinaus ist die Anwendung aber auch nur in geringem Maße mit anderen Lösungen kom­pa­ti­bel. Die komplett ver­wal­te­te Datenbank ist sofort ein­satz­be­reit und übernimmt Updates, Ska­lie­run­gen und andere Aufgaben au­to­ma­tisch. Nut­ze­rin­nen und Nutzer haben somit al­ler­dings nur be­grenz­ten Einblick in die Arbeit „hinter den Kulissen“.

Welche Pro­gram­mier­spra­chen die beiden Systeme un­ter­stüt­zen, fasst die nach­fol­gen­de Tabelle zusammen:

Pro­gram­mier­spra­che Un­ter­stützt von Mongo DB Un­ter­stützt von DynamoDB
Ac­tion­s­cript
C
C#
C++
Clojure
Cold­Fu­si­on
D
Dart
Delphi
Erlang
Go
Groovy
Haskell
Java
Ja­va­Script
Kotlin
Lisp
Lua
MatLab
.net
Perl
PHP
Power­Shell
Prolog
Python
R
Ruby
Scala
Smalltalk
Swift

Si­cher­heit

Zu den Aufgaben, die DynamoDB für seine Nut­ze­rin­nen und Nutzer übernimmt, gehören auch sämtliche Si­cher­heits­tä­tig­kei­ten. Als Teil des AWS-Kosmos und des IAM-Modells (Identity and Access Ma­nage­ment) ist die Datenbank sehr gut geschützt und ein­ge­bet­tet. Außerdem besteht keine direkte Ver­bin­dung zum Internet, da Anfragen zunächst durch ein API-Gateway geleitet werden.

Im Vergleich MongoDB vs. DynamoDB ist der Ar­beits­auf­wand bei der Nutzung von MongoDB daher deutlich höher, wenn Sie die Si­cher­heit Ihrer Datenbank ge­währ­leis­ten möchten. Zu­gangs­be­rech­ti­gun­gen, Rollen und Firewalls müssen zumindest in den Stan­dard­ver­sio­nen des Systems selbst­stän­dig im­ple­men­tiert und gewartet werden. Abhilfe schaffen ver­wal­te­te Lösungen, die alle nötigen Si­cher­heits­fea­tures be­reit­stel­len.

Tipp

Die sicherste Lösung: Mit Managed MongoDB von IONOS pro­fi­tie­ren Sie vom Knowhow unserer Ex­per­tin­nen und Experten und erhalten so die optimale Umgebung für Ihre Daten. Lassen Sie sich kostenlos beraten!

MongoDB vs. DynamoDB: Welche Un­ter­neh­men vertrauen auf die beiden Da­ten­ban­ken?

Zu den Firmen, die ganz oder teilweise auf MongoDB setzen, gehören unter anderem diese:

  • Adobe
  • Amadeus
  • AppScale
  • Craftbase
  • Disney
  • Etsy
  • Fours­qua­re
  • Lyft
  • MTV
  • The New York Times
  • Via Varejo

Konzerne und Platt­for­men, die ihre Daten mit DynamoDB verwalten, sind zum Beispiel folgende:

  • Airbnb
  • Amazon
  • Comcast
  • Disney
  • Dropbox
  • Netflix
  • Nike
  • Redfin
  • Samsung
  • Tinder
  • Zoom
Managed Database Services
Da­ten­ban­ken – Auf´s We­sent­li­che kon­zen­trie­ren
  • IONOS Cloud-Partner: Die Experten für Ihren Datenbank-Betrieb
  • Flexibel: Maß­ge­schnei­der­te Datenbank-Lösungen ganz auf Ihre Be­dürf­nis­se
  • Re­chen­zen­tren in Deutsch­land: Ihre Daten sind sicher

Welcher Dienst passt zu Ihren An­for­de­run­gen?

MongoDB und DynamoDB sind zwei sehr starke Da­ten­bank­ma­nage­ment­sys­te­me, die durch ihren NoSQL-Ansatz flexibel und ska­lier­bar bleiben. Die Her­an­ge­hens­wei­se der beiden Lösungen un­ter­schei­det sich jedoch von­ein­an­der. Suchen Sie nach einem System, das perfekt in den AWS-Kosmos ein­ge­bet­tet ist, eine starke Si­cher­heits­ar­chi­tek­tur hat und die meisten Ver­wal­tungs­auf­ga­ben für Sie übernimmt, ist DynamoDB eine sehr gute Wahl. Möchten Sie hingegen Wahl­frei­heit hin­sicht­lich Ihrer Cloud-Um­ge­bun­gen und der Kon­fi­gu­ra­ti­on haben, finden Sie in MongoDB einen her­vor­ra­gen­den Dienst.

Tipp

In unserem Digital Guide finden Sie zahl­rei­che weitere Artikel aus der Welt der Da­ten­bank­sys­te­me. Lesen Sie unseren Vergleich MariaDB vs. MySQL, erfahren Sie alles über die besten Open-Source-Da­ten­ban­ken oder lassen Sie sich in unserem MongoDB-Tutorial bei den ersten Schritten mit dem System unter die Arme greifen.

Zum Hauptmenü