MongoDB vs. Redis: Wie fällt ein Vergleich der beiden sehr leis­tungs­star­ken NoSQL-Da­ten­ban­ken, die un­ter­schied­li­che Schwer­punk­te setzen, aus? Während MongoDB vor allem auf große Da­ten­men­gen ausgelegt ist, überzeugt Redis durch seine Ge­schwin­dig­keit. Beide Systeme lassen sich auch kom­bi­nie­ren.

MongoDB: Ska­lier­bar und flexibel

MongoDB, ab­ge­lei­tet vom eng­li­schen Begriff „huMongous“ (dt. „gewaltig“), gilt als eines der be­kann­tes­ten und be­lieb­tes­ten NoSQL-Systeme der Welt. Die Datenbank wurde 2009 von der Firma 10gen (heute MongoDB Inc.) mit dem Ziel ent­wi­ckelt, große und viel­fäl­ti­ge Da­ten­men­gen über­sicht­lich zu speichern und sicher zu verwalten. Das System zeichnet sich ins­be­son­de­re durch seine hohe ho­ri­zon­ta­le Ska­lier­bar­keit und die damit ein­her­ge­hen­de Fle­xi­bi­li­tät aus. MongoDB ist in C++ ge­schrie­ben und wird unter der Server Side Public Licence als Open-Source-Da­ten­bank­ma­nage­ment­sys­tem mit zu­sätz­li­chen pro­prie­tä­ren Versionen ver­trie­ben und stetig wei­ter­ent­wi­ckelt.

Tipp

Holen Sie das Optimum aus MongoDB heraus: Mit Managed MongoDB von IONOS pro­fi­tie­ren Sie von um­fang­rei­chen Si­cher­heits­fea­tures und der lang­jäh­ri­gen Erfahrung unserer Ex­per­tin­nen und Experten. Ver­ein­ba­ren Sie eine un­ver­bind­li­che Beratung!

Redis: Die NoSQL-Lösung mit Tempo

Bei allen Un­ter­schie­den im Vergleich MongoDB vs. Redis – ihr Er­schei­nungs­jahr teilen sich die beiden Lösungen: Auch Redis wurde 2009 ver­öf­fent­licht. Die In-Memory-Datenbank, deren Name sich von „REmote DIc­tion­a­ry Server“ ableitet, wurde von Salvatore San­fi­lip­po in ANSI C pro­gram­miert. Auch sie ist quell­of­fen (unter der 3-Klausel-BSD-Lizenz) und arbeitet nicht re­la­tio­nal, ver­zich­tet also (wei­test­ge­hend) auf klas­si­sche Ta­bel­len­mus­ter. Das System ist sehr einfach gestaltet und weiß vor allem durch seine hohe Be­nut­zer­freund­lich­keit und Ge­schwin­dig­keit zu über­zeu­gen. Das System ist an sich sehr schlank, kann aber auf viel­fäl­ti­ge Art und Weise erweitert werden. Auch aus diesem Grund gilt Redis als einer der am häu­figs­ten genutzten Schlüssel-Werte-Speicher weltweit.

Ein­satz­zwe­cke

MongoDB ist vor allem ein absoluter Experte im Bereich Big Data. Wenn Sie große Da­ten­men­gen und un­ter­schied­li­che Da­ten­ty­pen verwalten müssen, bietet die NoSQL-Lösung die passenden Vor­aus­set­zun­gen. Auch für steigende An­for­de­run­gen ist das System ausgelegt und wächst mit. Ins­be­son­de­re für Content-Ma­nage­ment, für E-Commerce-Lösungen und An­wen­dun­gen, die frei kon­fi­gu­rier­bar bleiben sollen und eine stetige Analyse in Echtzeit benötigen, hat sich MongoDB etabliert.

Redis setzt im Vergleich dazu vor allem auf den Faktor Ge­schwin­dig­keit. Es speichert Daten ebenfalls in Schlüssel-Wert-Paaren und un­ter­stützt zahl­rei­che Da­ten­ty­pen. Eine Be­son­der­heit sind die gängigen Re­ak­ti­ons­zei­ten von unter einer Mil­li­se­kun­de, die eine Ver­ar­bei­tung von un­zäh­li­gen gleich­zei­ti­gen Anfragen in Echtzeit er­mög­li­chen. Das macht Redis zu einer optimalen Wahl für Caching oder Sit­zungs­spei­che­run­gen, bei denen häufig ver­wen­de­te Daten un­ter­schied­li­cher Typen schnellst­mög­lich zur Verfügung gestellt werden sollen. Weitere Sparten, in denen Redis vor­nehm­lich zum Einsatz kommt, sind Messenger und Chat-Rooms, (Online-)Spiele, Analysen in Echtzeit, Streaming, Fi­nanz­dienst­leis­tun­gen und das Internet of Things. Redis kann dabei sowohl ho­ri­zon­tal als auch vertikal skaliert werden.

Funk­ti­ons­wei­se

Die Ge­gen­über­stel­lung MongoDB vs. Redis zeigt, dass sich Her­an­ge­hens- und Funk­ti­ons­wei­sen von­ein­an­der un­ter­schei­den. Zwar wählen beide Systeme einen nicht-re­la­tio­na­len Ansatz, al­ler­dings in­ter­pre­tie­ren sie diesen un­ter­schied­lich: MongoDB speichert Daten als Dokumente im Format BSON und bündelt diese Dokumente in Samm­lun­gen. Diese Daten können struk­tu­riert, halb­struk­tu­riert oder un­struk­tu­riert sein. Die Dokumente bestehen aus Schlüssel-Wert-Paaren, wobei der Schlüssel immer eine Zei­chen­fol­ge ist und der Wert unter anderem aus anderen Do­ku­men­ten, Arrays, boolschen Werten oder anderen Da­tei­ty­pen bestehen kann. Um eine hohe Ver­füg­bar­keit zu ge­währ­leis­ten, setzt MongoDB auf das so­ge­nann­te Sharding, bei dem Daten auf mehrere Knoten verteilt werden. Abfragen erfolgen mit der MongoDB Query Language.

Seine extrem hohen Ge­schwin­dig­kei­ten erreicht Redis, weil sämtliche Daten direkt im RAM ge­spei­chert werden und somit un­mit­tel­bar zur Verfügung gestellt werden können. Die Latenz ist dadurch auch im Vergleich zu den meisten anderen Lösungen sehr gering (gleich­zei­tig ist al­ler­dings der Spei­cher­platz begrenzt). Wie der Kon­tra­hent im Vergleich MongoDB vs. Redis setzt auch Redis auf Schlüssel-Wert-Paare. Die In-Memory-Datenbank un­ter­stützt un­ter­schied­li­che Werte und Da­ten­struk­tu­ren, wie zum Beispiel Hashes, Listen, Sets, Streams und Strings. Die Spei­che­rung der je­wei­li­gen Schlüssel erfolgt in einem Wör­ter­buch und für die Ver­ar­bei­tung mehrerer Werte wird ein Parser genutzt. Für zu­sätz­li­che Ab­fra­ge­funk­tio­nen gibt es Module.

Per­for­mance

MongoDB ist eine sehr schnelle Datenbank, die Lese- und Schreib­an­fra­gen mit hoher Ge­schwin­dig­keit er­mög­licht. Durch die sche­ma­freie Struktur der NoSQL-Lösung entstehen selbst bei großen Da­ten­vo­lu­men keine Ver­zö­ge­run­gen. Diese Ge­schwin­dig­keit wird zu­sätz­lich durch eine Kom­bi­na­ti­on der un­ter­schied­li­chen Speicher erreicht. Im Vergleich MongoDB vs. Redis ist die In-Memory-Datenbank in der Regel al­ler­dings dennoch deutlich schneller. Durch die Spei­che­rung direkt im Ar­beits­spei­cher stehen die Daten umgehend zur Verfügung, weshalb Redis eine optimale Lösung ist, wenn Inhalte schnellst­mög­lich abgerufen werden sollen. Das kostet al­ler­dings auch RAM: Der Verbrauch ist mit 4 GB pro 100.000 Assets etwa viermal so hoch wie bei MongoDB.

Ska­lier­bar­keit

Ein gänzlich anderes Bild entsteht, wenn man die Ska­lie­rungs­mög­lich­kei­ten von MongoDB vs. Redis ge­gen­über­stellt. Zwar bieten beide Systeme grund­sätz­lich gute Optionen – gerade MongoDB kann in diesem Bereich al­ler­dings glänzen. Die Datenbank ist so ausgelegt, dass sie ho­ri­zon­tal ohne Ein­schrän­kun­gen wachsen kann und dabei die un­ter­schied­lichs­ten Da­ten­ty­pen verwaltet. Durch das Sharding werden Daten so verteilt, dass sie ei­ner­seits verfügbar sind und an­de­rer­seits besonders effektiv ver­ar­bei­tet werden können. Redis bietet zwar ho­ri­zon­ta­le und vertikale Ska­lie­rung, nutzt stan­dard­mä­ßig al­ler­dings immer nur einen Shard. Lediglich Hashed Sharding ist möglich und die Ver­wal­tung muss manuell vor­ge­nom­men werden.

Ver­füg­bar­keit

Das Sharding wirkt sich auch positiv auf die Ver­füg­bar­keit der Daten in einer MongoDB-Datenbank aus. Das System verwendet Re­pli­kat­sät­ze und erlaubt es Nut­ze­rin­nen und Nutzern, bis zu 50 Replikate einer Datei zu erstellen. Diese lassen sich dann auf un­ter­schied­li­chen Kno­ten­punk­ten speichern. Durch au­to­ma­ti­sche Failover-Funk­tio­nen wird nicht nur ein Pri­mär­punkt bestimmt, sondern dieser bei einem Ausfall umgehend au­to­ma­tisch ersetzt.

Auch Redis bietet grund­sätz­lich eine hohe Ver­füg­bar­keit und nutzt auf Wunsch ver­schie­de­ne Kno­ten­punk­te. Auf einen au­to­ma­ti­schen Failover wird al­ler­dings ver­zich­tet, sofern dieser nicht vom Ad­mi­nis­tra­tor oder der Ad­mi­nis­tra­to­rin manuell ein­ge­rich­tet wird. Ist dies nicht der Fall, muss auch der Failover ei­gen­stän­dig initiiert werden.

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

Kom­pa­ti­bi­li­tät

Stellt man MongoDB vs. Redis gegenüber, lässt sich die wohl größte Ge­mein­sam­keit in der großen Kom­pa­ti­bi­li­tät mit Be­triebs­sys­te­men und Pro­gram­mier­spra­chen fest­stel­len. Als platt­form­über­grei­fen­de Systeme funk­tio­nie­ren beide Kon­tra­hen­ten unter Linux, macOS und Windows. MongoDB bietet zu­sätz­lich Solaris und Redis hat BSD im Programm. Auch die Auswahl der möglichen Pro­gram­mier­spra­chen ist in beiden Fällen gewaltig.

Pro­gram­mier­spra­che Un­ter­stützt von Mongo DB Un­ter­stützt von Redis
Ac­tion­s­cript
C
C#
C++
Clojure
Cold­Fu­si­on
Crystal
D
Dart
Delphi
Elixir
Erlang
Fancy
Go
Groovy
Haskell
Haxe
Java
Ja­va­Script
Kotlin
Lisp
Lua
MatLab
Objective-C
OCaml
Pascal
Perl
PHP
Power­Shell
Prolog
Pure Data
Python
R
Rebol
Ruby
Rust
Scala
Scheme
Smalltalk
Swift
Tcl
Visual Basic

Ab­fra­ge­spra­che

Die Abfrage bei MongoDB und Redis wird un­ter­schied­lich durch­ge­führt. MongoDB setzt auf die haus­ei­ge­ne MongoDB Query Language (MQL), die eine JSON-ähnliche Syntax un­ter­stützt. Selbst Da­ten­ana­ly­sen und Anfragen über mehrere Bereiche und Schlüssel hinweg sind dadurch möglich. Redis ver­zich­tet hingegen auf eine eigene Ab­fra­ge­spra­che und nutzt statt­des­sen einfache Befehle, die die Da­ten­su­che er­leich­tern und be­schleu­ni­gen sollen. So sind stan­dard­mä­ßig nur Key-Value-Abfragen möglich. Für weitere Optionen müssen zu­sätz­li­che Module in­te­griert werden.

Zwei Open-Source-Da­ten­ban­ken

Eine weitere Ge­mein­sam­keit von MongoDB vs. Redis ist der Open-Source-Ansatz, den beide Systeme verfolgen. Beide setzen auf offene Standards, die jeweils von einer en­ga­gier­ten Community genutzt und wei­ter­ent­wi­ckelt werden. MongoDB stellt zu­sätz­lich kom­mer­zi­el­le Versionen wie En­ter­pri­se oder Atlas (für die Nutzung in der Cloud zur Verfügung. Diese bieten weitere Si­cher­heits­fea­tures und erhalten pro­fes­sio­nel­len Support.

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

MongoDB vs. Redis: Welche Un­ter­neh­men setzen auf die Lösungen?

Es gibt zahl­rei­che große Un­ter­neh­men, die auf einen der beiden Bewerber im Vergleich MongoDB vs. Redis setzen. Zu den be­kann­tes­ten Nutzern von MongoDB gehören folgende:

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

Redis wird unter anderem von diesen Firmen und Platt­for­men ein­ge­setzt:

  • Airbnb
  • Craigs­list
  • GitHub
  • HelloFresh
  • InstaCart
  • Instagram
  • Pinterest
  • Slack
  • Snapchat
  • Stack­Over­flow
  • Trello
  • Uber
  • X (ehemals Twitter)

MongoDB vs. Redis: Welche Lösung eignet sich für Sie?

Wer also kann den Vergleich MongoDB vs. Redis für sich ent­schei­den? Die Antwort auf diese Frage hängt stark von Ihren An­for­de­run­gen ab. Benötigen Sie eine Datenbank, die sich ins­be­son­de­re durch hohe Ge­schwin­dig­keit und umgehende Da­ten­ver­füg­bar­keit aus­zeich­net, ist Redis eine optimale Wahl. Liegt Ihr Haupt­au­gen­merk auf Big Data und größt­mög­li­cher Fle­xi­bi­li­tät, führt kaum ein Weg an MongoDB vorbei. Im Zwei­fels­fall müssen Sie sich aber gar nicht ent­schei­den: MongoDB und Redis arbeiten auch her­vor­ra­gend zusammen und können ihre je­wei­li­gen Stärken bündeln. So pro­fi­tie­ren Sie vom Tempo, das Redis bietet, und behalten dabei alle Ska­lie­rungs­op­tio­nen von MongoDB.

Tipp

Sie möchten mehr über Da­ten­ban­ken erfahren? In unserem Digital Guide finden Sie zahl­rei­che in­for­ma­ti­ve Artikel zum Thema. Hier finden Sie unter anderem eine Ein­füh­rung in Redis, eine Auf­lis­tung der besten Open-Source-Da­ten­ban­ken und Hilfe bei Ihren ersten Schritten mit MongoDB.

Zum Hauptmenü