Was ist MongoDB?
MongoDB ist eine dokumentenorientierte Datenbank, die Daten in JSON-ähnlichen Dokumenten speichert.
MongoDBs Designphilosophie besteht darin, den Anforderungen großer Datenmengen, hoher Leistung und Flexibilität gerecht zu werden.
MongoDB verwendet Collections, um Dokumente zu organisieren, und jedes Dokument besteht aus Schlüssel-Wert-Paaren.
- Datenbank: Ein Container zum Speichern von Daten, ähnlich einer Datenbank in einer relationalen Datenbank.
- Collection: Eine Collection innerhalb einer Datenbank, ähnlich einer Tabelle in einer relationalen Datenbank.
- Dokument: Ein Datensatz in einer Collection, ähnlich einer Zeile in einer relationalen Datenbank, gespeichert im BSON-Format.
MongoDB speichert Daten als Dokument, und die Datenstruktur besteht aus Schlüssel-Wert-Paaren. Dokumente ähneln JSON-Objekten; Feldwerte können andere Dokumente, Arrays und Arrays von Dokumenten enthalten:
Hauptmerkmale
-
Dokumentenorientierte Speicherung: MongoDB ist eine dokumentenorientierte Datenbank, die Daten in einem JSON-ähnlichen Format speichert, wodurch die Datenstruktur flexibler und reichhaltiger wird.
-
Indexoptimierung für Abfragen: MongoDB ermöglicht Benutzern, Indizes für jedes Attribut in einem Dokument zu erstellen, zum Beispiel
FirstNameundAddress, wodurch die Abfrageeffizienz und die Sortierleistung verbessert werden. -
Daten-Spiegelung und Skalierbarkeit: Durch die Erstellung von Datenreplikaten lokal oder über das Netzwerk erreicht MongoDB eine leistungsstarke Datenredundanz und Skalierbarkeit.
-
Horizontale Skalierung und Sharding: Bei erhöhter Last kann MongoDB Daten mithilfe von Sharding-Technologie auf andere Knoten im Computernetzwerk verteilen, um horizontale Skalierung zu erreichen.
-
Leistungsstarke Abfragesprache: MongoDB verwendet eine Abfragesyntax im JSON-Format und unterstützt komplexe Abfrageausdrücke, einschließlich Abfragen auf eingebettete Objekte und Arrays.
-
Datenaktualisierungen: Mithilfe des
update()Befehls kann MongoDB ein ganzes Dokument ersetzen oder angegebene Datenfelder aktualisieren, was eine flexible Möglichkeit zur Aktualisierung von Daten bietet. -
MapReduce-Batchverarbeitung: Die MapReduce-Funktion von MongoDB ist für umfangreiche Datenverarbeitung und Aggregationsvorgänge konzipiert. Durch den
emit(key, value)Aufruf der Map-Funktion und die logische Verarbeitung der Reduce-Funktion wird eine effiziente Datenaggregation erreicht. -
MapReduce-Skripterstellung: Map- und Reduce-Funktionen sind in JavaScript geschrieben und können in MongoDB mit dem
db.runCommandodermapreduceBefehl. -
GridFS-Großdateispeicherung: GridFS ist eine integrierte MongoDB-Funktion zum Speichern und Abrufen von Dateien, die größer als das BSON-Dokumentgrößenlimit sind, wie Bilder und Videos.
-
Serverseitige Skriptausführung: MongoDB erlaubt die Ausführung von JavaScript-Skripten auf der Serverseite und bietet die Möglichkeit, direkt auf dem Server auszuführen oder Funktionsdefinitionen für einen späteren Aufruf zu speichern.
-
Unterstützung mehrerer Sprachen: MongoDB unterstützt mehrere Programmiersprachen, einschließlich, aber nicht beschränkt auf RUBY, PYTHON, JAVA, C++, PHP und C#.
-
Einfache Installation: Der Installationsprozess von MongoDB ist einfach und intuitiv, sodass Benutzer schnell bereitstellen und nutzen können.
Verlauf
| Version | Veröffentlichungsdatum | Funktionsbeschreibung |
|---|---|---|
| 1.0 | August 2009 | Mehr Indizes pro Collection Schnellere Indexerstellung |
| 1.2 | Dezember 2009 | Map/Reduce Gespeicherte JavaScript-Funktionen Konfigurierbare fsync-Zeit Mehrere kleinere Funktionen und Fehlerbehebungen |
| 1.4 | März 2010 | Produktionsbereites Sharding |
| 1.6 | August 2010 | Replica Sets IPv6-Unterstützung |
| 1.8 | März 2011 | |
| 2.0 | September 2011 | |
| 2.2 | August 2012 | Erweiterte Geodaten-Unterstützung Wechsel zur V8-JavaScript-Engine |
| 2.4 | März 2013 | Sicherheitsverbesserungen Textsuche (Beta) Hash-Indizes Aggregationserweiterungen Textsuche-Integration |
| 2.6 | 8. April 2014 | Verbesserungen der Abfrage-Engine Neues Schreibvorgangsprotokoll Sicherheitsverbesserungen Unterstützung für die WiredTiger-Speicher-Engine API für austauschbare Speicher-Engines |
| 3.0 | 3. März 2015 | SCRAM-SHA-1-Authentifizierung Verbesserte Explain-Funktion MongoDB Ops Manager Verbesserungen bei Replica-Set-Wahlen WiredTiger-Speicher-Engine als Standard |
| 3.2 | 8. Dezember 2015 | Config-Server als Replica-Sets Read Concern Wechsel von V8 zu SpiderMonkey Linearizable Read Concern |
| 3.4 | 29. November 2016 | Views Kollation |
| 3.6 | November 2017 | |
| 4.0 | Juni 2018 | Transaktionen |
| 4.2 | August 2019 | |
| 4.4 | Juli 2020 | |
| 4.4.5 | April 2021 | |
| 4.4.6 | Mai 2021 | Zukunftsorientierte versionierte API |
| 5.0 | 13. Juli 2021 | Clientseitige Verschlüsselung auf Feldebene Live-Resharding Unterstützung für Zeitreihen |
| 6.0 | Juli 2022 | |
| 7.0 | 15. August 2023 |
MongoDB-Download
Sie können das Installationspaket von der offiziellen MongoDB-Website unter folgender Adresse herunterladen:https://www.mongodb.com/try/download/community。
MongoDB unterstützt die folgenden Plattformen:
Linux: MongoDB unterstützt verschiedene Linux-Distributionen, einschließlich, aber nicht beschränkt auf Ubuntu, CentOS, Red Hat Enterprise Linux (RHEL), Fedora usw.
Windows: MongoDB stellt eine offizielle Version für das Windows-Betriebssystem bereit, die auf Windows Server und Windows-Desktop-Betriebssystemen ausgeführt werden kann.
macOS: MongoDB kann unter macOS ausgeführt werden und bietet einen offiziellen Installer für macOS.
Docker: MongoDB kann auch als Docker-Container ausgeführt werden, was die Bereitstellung und Verwaltung auf verschiedenen Plattformen erleichtert.

Sprachunterstützung
MongoDB hat offizielle Treiber wie folgt:
MongoDB-Tools
Es gibt mehrere Management-Tools für MongoDB.
Überwachung
MongoDB stellt das Netzwerk- und Systemüberwachungstool Munin bereit, das als Plugin in MongoDB eingesetzt wird.
Gangila ist ein Hochleistungs-Systemüberwachungstool für MongoDB, das als Plugin in MongoDB eingesetzt wird.
Cacti ist ein quelloffenes GUI-basiertes Tool zur Anzeige von CPU-Last und Netzwerkbandbreitenauslastung; es bietet außerdem ein Plugin zur Überwachung von MongoDB.
GUI
- Fang of Mongo – webbasiert, erstellt mit Django und jQuery.
- Futon4Mongo – ein MongoDB-Klon des Futon-Web von CouchDB.
- Mongo3 – geschrieben in Ruby.
- MongoHub – eine Anwendung für OSX.
- Opricot – eine browserbasierte MongoDB-Konsole, geschrieben in PHP.
- Database Master — ein MongoDB-Verwaltungstool für Windows
- RockMongo — das beste in PHP geschriebene MongoDB-Verwaltungstool, leichtgewichtig und unterstützt mehrere Sprachen.
MongoDB-Anwendungsfälle
Im Folgenden sind einige tatsächliche Anwendungen von MongoDB durch Unternehmen aufgeführt:
- Craigslist verwendet MongoDB, um Milliarden von Datensätzen zu archivieren.
- FourSquare, eine standortbasierte Social-Networking-Website, verwendet MongoDB auf Amazon-EC2-Servern, um Daten zu teilen.
- Shutterfly, ein internetbasierter sozialer und persönlicher Publikationsdienst, verwendet MongoDB für verschiedene Anforderungen an die persistente Datenspeicherung.
- bit.ly, ein webbasierter URL-Verkürzungsdienst, verwendet MongoDB, um seine eigenen Daten zu speichern.
- spike.com, ein Partnerunternehmen von MTV Networks, verwendet MongoDB.
- Intuit, ein Software- und Dienstanbieter für kleine Unternehmen und Privatpersonen, verwendet MongoDB, um Benutzerdaten für kleine Unternehmen zu verfolgen.
- sourceforge.net, eine Ressourcen-Website zum kostenlosen Finden, Erstellen und Veröffentlichen von Open-Source-Software, verwendet MongoDB für die Backend-Speicherung.
- etsy.com, eine Website zum Kaufen und Verkaufen handgefertigter Artikel, verwendet MongoDB.
- The New York Times, eines der führenden Online-Nachrichtenportale, verwendet MongoDB.
- CERN, das renommierte Forschungsinstitut für Teilchenphysik, verwendet MongoDB für Daten aus dem Large Hadron Collider.