MongoDB
MongoDB | |
---|---|
![]() | |
Basisdaten | |
Entwickler | MongoDB, Inc. |
Erscheinungsjahr | 2009 |
Aktuelle Version | 8.0.4[1] (9. Dezember 2024) |
Betriebssystem | Linux, macOS, Microsoft Windows, OpenBSD |
Programmiersprache | C++, JavaScript, C, Python[2] |
Kategorie | Dokumentenorientierte Datenbank |
Lizenz | Server Side Public License[3][4] |
www.mongodb.com |
MongoDB (abgeleitet vom engl.humongous, „gigantisch“) ist eindokumentenorientiertesNoSQL-Datenbankmanagementsystem, das in der ProgrammierspracheC++ geschrieben ist.[5][6] Sie kann Sammlungen vonJSON-ähnlichen Dokumenten verwalten. So können viele Anwendungen Daten auf natürlichere Weise modellieren, da die Daten zwar in komplexen Hierarchien verschachtelt werden können, dabei aber immer abfragbar und indizierbar bleiben.
Die Entwicklung von MongoDB begann im Oktober 2007 durch das Unternehmen10gen, welches am 27. August 2013 inMongoDB, Inc. umbenannt wurde.[7] Die Erstveröffentlichung fand im Februar 2009 statt.[8] MongoDB wurde bis zum 15. Oktober 2018 alsFreie Software veröffentlicht und ist seitdem unter der proprietärenSSPL verfügbar.[9] Es ist die populärsteNoSQL-Datenbank (Stand: Apr 2024).[10]
Das Unternehmen MongoDB, Inc. ist imNASDAQ gelistet und wird unter dem Kürzel MDB gehandelt.
Systemvoraussetzungen
[Bearbeiten |Quelltext bearbeiten]Die Binärdateien sind verfügbar fürWindows,Linux,macOS undSolaris. MongoDB kann auf fast jedemLittle-Endian-System kompiliert werden.
Aufbau
[Bearbeiten |Quelltext bearbeiten]Datenbanken
[Bearbeiten |Quelltext bearbeiten]Ein MongoDB-Prozess kann mehrere Datenbanken verwalten, und eine Datenbank kann mehrereCollections enthalten. Datenbank und Collection ergeben, durch einen Punkt getrennt, einenNamespace. Für eine Datenbank, die die Daten einer Firma verwalten soll, und eine Collection, die alle Mitarbeiter enthalten soll, könnte man beispielsweise den Namespacefirma.mitarbeiter
wählen.
Collections
[Bearbeiten |Quelltext bearbeiten]Eine Collection enthält Dokumente und ist mit einer Tabelle einer relationalen Datenbank vergleichbar. Ein wesentlicher Unterschied besteht darin, dass die Dokumente einer Collection völlig unterschiedlich aufgebaut sein können. Weder müssen sie einemSchema folgen, noch müssen die Werte desselben Schlüssels vom selbenDatentyp sein.
Capped Collections
[Bearbeiten |Quelltext bearbeiten]MongoDB unterstützt größenbeschränkte Dokumentensammlungen – auchcapped collections genannt.[11] Einecapped collection wird mit einer bestimmten Größe und – je nach Bedarf – einer Anzahl an Elementen angelegt. Einecapped collection ist die einzige Art Dokumentensammlung, die die Ordnung einhält: Sobald die spezifizierte Größe erreicht ist, verhält sich diecapped collection wie eindigitaler Ringspeicher.
Eine besondere Art Cursor – genannttailable cursor[12] – kann bei capped collections verwendet werden. Der Cursor wurde nach dem Unix-Befehltail -f
benannt. Er verschwindet nicht, sobald er die Wiedergabe der Ergebnisse beendet hat, sondern wartet und gibt neue Ergebnisse wieder, sobald neue Dokumente der Sammlung hinzugefügt werden.
System Collections
[Bearbeiten |Quelltext bearbeiten]MongoDB legt automatischSystem Collections an. Eine derSystem Collections beinhaltet alle Indizes der Datenbank, eine weitere alleNamespaces, eine JavaScript-Code und die übrigen Informationen zumProfiling und zu Benutzern.
Abfragen
[Bearbeiten |Quelltext bearbeiten]Mongo erlaubt es, jedes Feld jederzeit abzufragen. Mongo unterstützt auch Bereichsabfragen, das Suchen nach regulären Ausdrücken und andere Spezialsuchabfragen zusätzlich zu Suchen anhand von Beispielen[13]. Diese Abfragen schließen auch benutzerdefinierte JavaScript-Funktionen ein. Abfragen können sowohl spezifische Dokumentenfelder wiedergeben (anstelle des gesamten Dokuments) als auch Ergebnisse sortieren, überspringen und einschränken. Abfragen können in eingebettete Objekte und Anordnungen hineinreichen.
Jedes Abfrageergebnis wird alsCursor bereitgestellt.
Indizierung
[Bearbeiten |Quelltext bearbeiten]Die Software unterstütztIndexstrukturen, beispielsweiseB-Bäume und Geospatial-Indizes.[14] Verschachtelte Felder (so wie oben in der Ad-hoc-Abfrage beschrieben) können gleichfalls indiziert werden. Das Indizieren von Listen ergibt eine Indizierung jedes einzelnen Elements der Liste.
DerAbfrage-Optimierer von MongoDB sucht während eines Abfragelaufs selbständig zwischen unterschiedlichenAuswertungsplänen aus und wählt den schnellsten; dabei findet periodisch eineStichprobewiederholung statt. Entwickler können den verwendeten Index mittels der Funktionexplain
einsehen und einen anderen Index mit Hilfe der Funktionhint
auswählen.
Indizes können jederzeit angelegt und gelöscht werden.
Aggregation
[Bearbeiten |Quelltext bearbeiten]Zusätzlich zu Ad-hoc-Abfragen unterstützt die Datenbank auch andere Werkzeuge für die Aggregation einschließlichMapReduce und einer Gruppierungsfunktion ähnlich dem GROUP BY von SQL.
GridFS
[Bearbeiten |Quelltext bearbeiten]Um Dokumente speichern zu können, die die Größenbeschränkung von 16 MB überschreiten, kann GridFS („Grid File System“) verwendet werden.[15] Dieser Dateien-Speicher-Mechanismus wurde beiPlug-ins fürApache,[16]nginx[17] undlighttpd[18] eingesetzt.
Abgrenzung zu relationalen (SQL-)Datenbanken
[Bearbeiten |Quelltext bearbeiten]MongoDB wird als NoSQL-Datenbank klassifiziert und grenzt sich als solche dadurch von traditionellen Datenbanken ab, dass sie eine weniger mächtige Abfragesprache anbietet. Dies ist Nachteil und Vorteil zugleich: Zum einen muss in der Anwendungsschicht mehr Logik vorhanden sein, um die gleichen Ergebnisse zu erzielen wie mit SQL-Datenbanken. Zum anderen kann MongoDB den Datenbestand und die Arbeitslast auf mehrere Server verteilen, was in monolithischen SQL-Datenbanken nicht möglich ist. Gleichwohl gibt es mittlerweile auch SQL-Datenbanken z. B. Exasol oder Greenplum, welche über mehrere Server verteilt sind. Nur auf den Mehrserversystemen sind großeJoin-Operationen in einer angemessenen Zeit zu bewerkstelligen.
MongoDB zielt bei der Verteilung der Daten auf mehrere Server darauf ab, durchReplikation die Verfügbarkeit zu erhöhen und durchSharding (siehe unten) die Arbeits- und Datenlast zu verteilen. Die Replikation bringt allerdings einen weiteren Nachteil mit sich: Wird ein Schreibzugriff von MongoDB bestätigt, dann gibt es standardmäßig ein Zeitfenster, in dem nachgelagerte Lesezugriffe den alten Datenbestand zurückliefern. Dieses Konsistenzmodell wird alsEventual Consistency bezeichnet.
Ein weiteres Abgrenzungsmerkmal von MongoDB zu Relationalen Datenbanken ist die Schemafreiheit. Während in Relationalen Datenbanken die Struktur eines Datenbankeintrages durch die Definition der Tabelle fest vorgeschrieben ist, können sich die Datenbankeinträge in MongoDB frei voneinander unterscheiden (auch wenn sie derselbenCollection angehören).[19] Dieser Freiheit wird zugesprochen, dass sie eineagile Softwareentwicklung unterstützt, da es einfacher ist, auf veränderte Anforderungen zu reagieren.[20]
Allerdings müssen bei Analysen anschließend die Informationen ebenfalls strukturiert werden.
Abgrenzung zu anderen NoSQL-Datenbanken
[Bearbeiten |Quelltext bearbeiten]Zwecks Klassifizierung von Datenbanken anhand ihrer Qualitätsmerkmale wird oft dasCAP-Theorem herangezogen. Das CAP-Theorem besagt, dass im Falle einer Netzwerk-Partitionierung sich einverteiltes System entscheiden muss, ob es weiterhin verfügbar bleiben oder Konsistenz gewährleisten soll.[21] MongoDB entscheidet sich hier für die Konsistenz, kann die Verfügbarkeit allerdings aufrechterhalten, solange die Mehrzahl der Knoten eines Replica Set miteinander kommunizieren können.CouchDB als Vergleich zu MongoDB mit ähnlichen Funktionalitäten stellt die Verfügbarkeit über die Konsistenz.
Verwaltungswerkzeuge
[Bearbeiten |Quelltext bearbeiten]Offizielle Werkzeuge
[Bearbeiten |Quelltext bearbeiten]Mit einem laufenden MongoDB-Server kann auf verschiedenen Wegen eine Verbindung aufgebaut werden. Die Mongo Shell ist in der Distribution enthalten. Eine HTTP-basierte Administrationsoberfläche sowie eineREST-Schnittstelle sind nach vorheriger Aktivierung in einem Browser aufrufbar. Schließlich stehen Programmierern Treiber für zahlreiche Programmiersprachen zur Verfügung, um die Kommunikation ihrer Anwendungen mit MongoDB zu implementieren.
Mongo Shell
[Bearbeiten |Quelltext bearbeiten]Die Mongo Shell ist einKommandozeilen-Client. Sie dient der Verwaltung von MongoDB und ermöglicht ihrem Benutzer Lese- wie Schreiboperationen. Dazu erhält man eine Eingabeaufforderung, auf dem man Befehle in der SpracheJavaScript ausführen kann.
Treiber
[Bearbeiten |Quelltext bearbeiten]MongoDB ist mit offiziellen Treibern ausgestattet fürC,C++,C#,Go,Java,JavaScript,PHP,Python,Ruby,Rust,Scala undSwift.[22]
Es gibt auch zu einigen Programmiersprachen offiziell unterstützteORMs für MongoDB, wie z. B. Mongoose für dieNode.js-Plattform.[23]
Cloud-basierter Monitoring-Dienst
[Bearbeiten |Quelltext bearbeiten]MongoDB Management Service (MMS) ist einecloud-basierteMonitoring-Lösung undAlert-Dienst für MongoDB Server.[24]
Grafische Oberflächen
[Bearbeiten |Quelltext bearbeiten]Es gibt einige grafische Oberflächen (GUIs) zur Sichtung und Bearbeitung der Daten. Dazu gehören:
Name | Beschreibung | Lizenz | Linux | Windows | Mac |
---|---|---|---|---|---|
MongoDB Compass | offizielle plattformübergreifende GUI für MongoDB[25] | Server Side Public License[26] | ja | ja | ja |
Studio 3T (ehemals MongoChef) | eine plattformübergreifende MongoDB GUI[27] | freie Lizenz und proprietär | ja | ja | ja |
Nucleon BI Studio | Business Intelligence Frontend für MongoDB | proprietär | — | ja | — |
Fang of Mongo | ein webbasiertes UI, erstellt mit Django und jQuery[28] | GNU AGPL v3.0[29] | ja | — | — |
Nucleon Database Master | eine Windows-basierte Datenbank-Client-Software, die auch RDMS unterstützt | proprietär | — | ja | — |
Futon4Mongo | einKlon desCouchDB-Futon-Web-Interfaces für MongoDB[30] | — | — | — | — |
mms, Mongo Management Studio | sowohl plattformübergreifendes als auch webbasiertes GUI[31] | freie Lizenz und proprietär | ja | ja | ja |
Mongo3 | ein Ruby-basiertes Interface[32] | Apache License 2.0 | ja | ja | ja |
MongoHub | eine nativeOS-X-Anwendung für das Management von MongoDB[33], inaktiv seit April 2015[34] | — | nein | nein | ja |
Opricot | eine browserbasierte MongoDB-Shell, geschrieben mit PHP[35] | GNU GPL v3.0 | ja | — | — |
Robo 3T (ehemals Robomongo) | eine plattformübergreifende MongoDB-GUI[36] | GNU GPL v3.0[37] | ja | ja | ja |
UMongo (JMongoBrowser) | eine plattformübergreifende Management-GUI, geschrieben in Java[38] | verschiedene OpenSource-Lizenzen[39] | — | — | — |
DBHawk | ein webbasiertes MongoDB-Tool[40] | proprietär | ja | ja | ja |
DataGrip (und weitere professionelleJetBrainsIDEs)[41] | professionelle Datenbank-Entwicklungsumgebung mit Unterstützung für viele verschiedene Datenbanksysteme wie unter anderem MongoDB. Geschrieben in Java. Basiert auf derquelloffenenIntelliJ-Plattform.[42] | proprietär | ja | ja | ja |
Replikation
[Bearbeiten |Quelltext bearbeiten]Um Ausfälle einzelner Server zu kompensieren und die Last der Lesezugriffe auf mehrere Server zu verteilen, bietet MongoDB zwei Arten derReplikation an:
Master-Slave-Replikation
[Bearbeiten |Quelltext bearbeiten]DieMaster-Slave-Replikation ist veraltet und seit Version 4.0 nicht mehr verfügbar[43].
Ein Master konnteLese- („Reads“) undSchreibzugriffe („Writes“) ausführen. Ein Slave kopierte die Daten vom Master und konnte nur für Lesezugriffe oder die Datensicherung eingesetzt werden, nicht aber für Schreibzugriffe.
Die Master-Slave-Replikation gestattete es Entwicklern, zu garantieren, dass auf einer Per-Ablauf-Basis zumindest ein Ablauf aufN Server repliziert wurde.
Replica-Sets
[Bearbeiten |Quelltext bearbeiten]Replica-Sets ähneln dem Master-Slave-Verhältnis, enthalten aber die Möglichkeit für die Slaves, einen neuen Master zu wählen, wenn der derzeitige ausfällt.
Sharding
[Bearbeiten |Quelltext bearbeiten]MongoDBskaliert horizontal unter Verwendung eines Systems, welches alshorizontale Fragmentierung bezeichnet wird und das demBigtable- und PNUTS-Skalierungssystem sehr ähnlich ist. Der Entwickler wählt einen Fragmentierungsschlüssel, der festlegt, wie die Daten in einer Ansammlung verteilt werden. Die Daten werden in Bereiche aufgeteilt (unter Zugrundelegung des Fragmentierungsschlüssels) und über mehrere Instanzen verteilt.
Die Anwendung bzw. ihr Entwickler muss wissen, dass die Kommunikation bei bestimmten Abläufen mit einem fragmentiertenCluster erfolgt. So muss eine „findAndModify“-Abfrage den Fragmentierungsschlüssel zum Beispiel beinhalten, wenn die angefragte Sammlung horizontal fragmentiert ist. Die Anwendung kommuniziert mit einem speziellen Routing-Prozess, der „mongos“ genannt wird und der genauso wie ein einzelner MongoDB-Server aussieht. Dieser „mongos“-Prozess weiß, welche Daten von welcher Instanz verwaltet werden, und routet die Abfrage dementsprechend. Alle Abfragen fließen durch diesen Prozess: Dieser leitet nicht nur die Abfragen und Antworten weiter, sondern führt auch alle notwendigen, finalen Datenver- und -entflechtungen durch. Jede beliebige Anzahl an „mongos“-Prozessen kann gestartet werden, allerdings wird gewöhnlich nur eine proAnwendungsserver empfohlen.
Technische Grundlagen
[Bearbeiten |Quelltext bearbeiten]Bei Lese- und Schreibzugriffen werden die Daten zunächst im RAM abgelegt und erst nach einer bestimmten Zeit (per Voreinstellung alle 60 Sekunden) vom Betriebssystemdienstmmap auf Disk synchronisiert. Dies ergibt einen Geschwindigkeitsvorteil, da auf den RAM in Nanosekunden zugegriffen werden kann, auf Dateien hingegen im dreistelligen Millisekundenbereich. Ein Nachteil ist, dass etwa bei einem Serverabsturz alle nur im RAM vorhandenen Daten verlorengehen. MongoDB begegnet diesem Nachteil mit demJournaling-Verfahren.[44]
Aufgrund der Nutzung vonmmap ist auf32-Bit-Rechnern die Datengröße auf 2GB begrenzt (bei64-Bit-Rechnern liegt die Obergrenze entsprechend sehr viel höher).[45] Der MongoDB-Server kann nur aufLittle-Endian-Systemen benutzt werden, obwohl die meisten Treiber sowohl auf Little-Endian- als auch auf Big-Endian-Systemen laufen.
Weitere Merkmale sind:
- UTF-8-Kodierung der Dokumente. Nicht-UTF-8-Daten können mittels eines speziellen Binärdatentyps gespeichert, angefragt und abgerufen werden.
- Unterstützung von Datum,regulären Ausdrücken, Code und binären Daten (allesamtBSON-Kategorien).
- Server-seitige JavaScript-Ausführung:JavaScript ist dieVerkehrssprache von MongoDB und kann für Abfragen und Aggregationsfunktionen (wie beispielsweiseMapReduce) verwendet werden, außerdem kann JavaScript direkt zur Datenbank geschickt und dort ausgeführt werden.
Lizenzierung und Unterstützung
[Bearbeiten |Quelltext bearbeiten]MongoDB war bis Oktober 2018 unter derGNU Affero General Public License (AGPL) frei erhältlich. Die Sprachtreiber sind erhältlich unter einerApache-Lizenz.[46]
Im Oktober 2018 wechselten die Entwickler der Datenbank MongoDB zur proprietärenServer Side Public License (SSPL), damit Cloud-Provider die Datenbank nicht nutzen, ohne Code zurückzugeben.
Die SSPL erfordert, dass jeder, der den MongoDB-Service anbietet, auch den Quellcode des Services unter dieser Lizenz veröffentlicht, auch den Code aller Programme für das Management, für Nutzerinterfaces, für Monitoring und für Backups. MongoDB legte die Lizenz der Open Source Initiative (OSI) vor, wo diese abgelehnt wurde[47]. Eine neue Version 2 der Lizenz wurde erneut der OSI vorgelegt[48], dann aber zurückgezogen, nachdem klar wurde, dass diese nicht akzeptiert werden würde.[49] MongoDB ist derzeit nur unter der abgelehnten Version 1 verfügbar. Dem voraus ging eine ähnliche Lizenzänderung durch Entwickler der DatenbankRedis.[50]
Aufgrund der Lizenzänderung wurde MongoDB aus den Linux-DistributionenDebian,Fedora undRed Hat Enterprise Linux entfernt. Das Fedora-Projekt entschied, dass die SSPL version 1 keineFreie-Software-Lizenz ist.[51][52]
Sicherheit
[Bearbeiten |Quelltext bearbeiten]Zahlreiche MongoDB-Installationen im Internet sind von jedermann lesbar und teilweise sogar beschreibbar. Eine Suche mitShodan lieferte im Januar 2017 52.000 offene Datenbanken.[53]
Ursache ist, dass in der Standardinstallation keinerlei Zugriffskontrolle konfiguriert ist. Wird die Datenbank später auf einen öffentlichen Server verschoben und die Konfiguration nicht angepasst, kann von außen frei auf die Daten zugegriffen werden.[54] Zum Teil wurde das vonRansomware ausgenutzt, die diese Daten verschlüsselt hat.[55] Der Hersteller der kommerziellen Variante empfiehlt schon seit langem Maßnahmen zur Absicherung.[54][56]
Bekannte Anwender
[Bearbeiten |Quelltext bearbeiten]- Die Webpräsenz vonMTV Networks[57]
- Disney Interactive Media Group[58]
- Foursquare[59]
- The New York Times[60]
- SourceForge[61]
- Die E-Commerce WebsiteEtsy[62]
- Large Hadron Collider am CERN[63]
- Die Cloud-Computing-PlattformAppScale[64]
Literatur
[Bearbeiten |Quelltext bearbeiten]- Marc Boeker:MongoDB. Sag Ja zu NoSQL. EntwicklerPress, Frankfurt am Main 2010,ISBN 978-3-86802-057-1
- Tobias Trelle:MongoDB. Der praktische Einstieg. dpunkt, Heidelberg 2014,ISBN 978-3-86490-153-9
Weblinks
[Bearbeiten |Quelltext bearbeiten]Einzelnachweise und Anmerkungen
[Bearbeiten |Quelltext bearbeiten]- ↑8.0 Changelog - MongoDB Manual v8.0.
- ↑Languages. (englisch, abgerufen am 6. August 2018).
- ↑www.mongodb.com. (abgerufen am 13. November 2018).
- ↑jira.mongodb.org. (abgerufen am 13. November 2018).
- ↑MongoDB. Archiviert vom Original (nicht mehr online verfügbar) am 3. Dezember 2013; abgerufen am 20. November 2013.
- ↑MongoDB-Website. Abgerufen am 22. Juni 2012.
- ↑10gen Announces Company Name Change to MongoDB, Inc. 27. August 2013, abgerufen am 28. August 2013.
- ↑MongoDB Blog - March 2010. Abgerufen am 22. Juni 2012.
- ↑MongoDB now released under the Server Side Public License. Abgerufen am 29. November 2018.
- ↑DB-Engines Ranking. Abgerufen am 9. April 2024.
- ↑Capped collections. Abgerufen am 22. Juni 2012.
- ↑Tailable cursors. Abgerufen am 22. Juni 2012.
- ↑MongoDB Find Command. Abgerufen am 16. Oktober 2016.
- ↑Geospatial indexes. Abgerufen am 22. Juni 2012.
- ↑GridFS. Abgerufen am 15. Januar 2016.
- ↑mod_gridfs. Abgerufen am 19. November 2014.
- ↑nginx. Abgerufen am 22. Juni 2012.
- ↑lighttpd. Archiviert vom Original (nicht mehr online verfügbar) am 7. August 2011; abgerufen am 22. Juni 2012. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäßAnleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/bitbucket.org
- ↑Vor- und Nachteile von MongoDB. Abgerufen am 30. Januar 2016.
- ↑Wozu Schemafreiheit? Abgerufen am 30. Januar 2016.
- ↑CAP-Theorem. Abgerufen am 30. Januar 2016.
- ↑Drivers. Abgerufen am 9. Januar 2022.
- ↑Node.js MongoDB Driver docs.mongodb.org
- ↑Mongo Cloud, Zugriff am 17. Oktober 2015
- ↑Compass. Abgerufen am 23. September 2020 (amerikanisches Englisch).
- ↑mongodb-js/compass. Abgerufen am 23. September 2020 (englisch).
- ↑Studio 3T (formerly MongoChef) - The IDE for MongoDB. Abgerufen am 1. Oktober 2014.
- ↑Fang of Mongo. Abgerufen am 22. Juni 2012.
- ↑Fang-of-Mongo/LICENCE at fom_object Fiedzia/Fang-of-Mongo – GitHub
- ↑Futon4Mongo. Abgerufen am 22. Juni 2012.
- ↑Mongo Management Studio. Abgerufen am 1. September 2014.
- ↑Mongo3. Abgerufen am 22. Juni 2012.
- ↑MongoHub. Archiviert vom Original am 7. Februar 2015; abgerufen am 22. Juni 2012.
- ↑jeromelebel/MongoHub-Mac. Abgerufen am 30. August 2018 (englisch).
- ↑Opricot. Abgerufen am 22. Juni 2012.
- ↑robomongo. Abgerufen am 10. Januar 2018.
- ↑robomongo/LICENSE at master paralect/robomongo – GitHub
- ↑UMongo. Abgerufen am 22. Juni 2012.
- ↑umongo/README.rst at master agirbal/umongo – GitHub
- ↑DBHawk. Abgerufen am 6. Januar 2018.
- ↑All Developer Tools and Products by JetBrains. Abgerufen am 9. Januar 2022 (englisch).
- ↑DataGrip: The Cross-Platform IDE for Databases & SQL by JetBrains. Abgerufen am 9. Januar 2022 (englisch).
- ↑https://docs.mongodb.com/manual/release-notes/4.0-compatibility/index.html#replica-sets
- ↑Tobias Trelle:MongoDB. Der praktische Einstieg, dpunkt, Heidelberg 2014, S. 21.
- ↑32-bit limitations. Abgerufen am 22. Juni 2012.
- ↑The AGPL - MongoDB Blog: May 5, 2009. Abgerufen am 22. Juni 2012.
- ↑[License-review] Approval: Server Side Public License, Version 1 (SSPL v1). Abgerufen am 29. November 2018.
- ↑[License-review] Approval: Server Side Public License, Version 2 (SSPL v2). Abgerufen am 29. November 2018.
- ↑[License-review] Approval: Server Side Public License, Version 2 (SSPL v2). Abgerufen am 22. März 2019.
- ↑Hanno Böck: MongoDB wechselt Lizenz
- ↑Steven J. Vaughan-Nichols: MongoDB "open-source" Server Side Public License rejected. Abgerufen im 1. Januar 1 (englisch).
- ↑MongoDB’s licensing changes led Red Hat to drop the database from the latest version of its server OS. 16. Januar 2019; abgerufen im 1. Januar 1 (amerikanisches Englisch).
- ↑Extortionists Wipe Thousands of Databases, Victims Who Pay Up Get Stiffed, Krebs on Security, 10. Januar 2017
- ↑abMongoDB: Ungeschützte Datenbanken absichern. 18. Februar 2015, abgerufen am 18. Februar 2015.
- ↑MongoDB ransacking@1@2Vorlage:Toter Link/docs.g00gle.com (Seite nicht mehr abrufbar, festgestellt im Mai 2019.Suche in Webarchiven) Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäßAnleitung und entferne dann diesen Hinweis.
- ↑Anleitung zur Absicherung:How to secure MongoDB on Linux or Unix production server, nixCraft, 9. Januar 2017
- ↑MongoDB Powering MTV's Web Properties. 10. Mai 2011, abgerufen am 6. Juli 2011.
- ↑Disney Central Services Storage: Leveraging Knowledge and skillsets. 24. Mai 2011, archiviert vom Original am 11. Juni 2011; abgerufen am 6. Juli 2011.
- ↑MongoDB at foursquare - Presentation at MongoNYC. 21. Mai 2010, archiviert vom Original am 12. Juni 2010; abgerufen am 28. Juni 2010. Info: Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäßAnleitung und entferne dann diesen Hinweis.@1@2Vorlage:Webachiv/IABot/blip.tv
- ↑Jacqueline Maher: Building a Better Submission Form, NYTimes Open Blog, 25. Mai 2010. Abgerufen am 28. Juni 2010
- ↑How Python, TurboGears, and MongoDB are Transforming SourceForge.net. PyCon 2010, 20. Februar 2010, archiviert vom Original am 19. August 2010; abgerufen am 22. Juni 2012.
- ↑MongoDB at Etsy. Code as Craft: Etsy Developer Blog, 19. Mai 2010, abgerufen am 28. Juni 2010.
- ↑Holy Large Hadron Collider, Batman! The MongoDB NoSQL Database Blog, 3. Juni 2010, abgerufen am 3. August 2010.
- ↑AppScale - Supported Datastores. Archiviert vom Original (nicht mehr online verfügbar) am 7. September 2013; abgerufen am 22. Juni 2012.
- Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2022-12
- Wikipedia:Weblink offline IABot
- Wikipedia:Defekte Weblinks/Ungeprüfte Botmarkierungen 2019-05
- Wikipedia:Vorlagenfehler/Vorlage:Cite web/temporär
- Wikipedia:Defekte Weblinks/Ungeprüfte Archivlinks 2019-05
- Wikipedia:Vorlagenfehler/Vorlage:Cite news/temporär