MongoDB: Unterschied zwischen den Versionen

Aus KGS-Wiki
Zeile 1: Zeile 1:
= MongoDB =
= MongoDB =
[[Datei:MongoDB Logo.svg|alternativtext=Logo von MongoDB|mini|Das offizielle Logo von MongoDB]]


=== Allgemeines ===
=== <u>Allgemeines</u> ===
MongoDB (vom englischen ''"hu'''mongo'''us"'',  dt. ''"gigantisch"'' ) ist ein Datenbankprogramm, welches sich auf Dokumente spezialisiert, also eine NoSQL-Datenbank (d.h. es stellt seine Daten nicht in einem relationsbasierten Schema dar, wie z.B. MariaDB) darstellt. Es wird häufig genutzt, um große Datenmenge zu verwalten und schnell abzufragen, beispielsweise am ''Large Hadron Collider'', dem Teilchenbeschleuniger des CERNs.
MongoDB (vom englischen ''"hu'''mongo'''us"'',  dt. ''"gigantisch"'' ) ist ein Datenbankprogramm, welches sich auf Dokumente spezialisiert, also eine NoSQL-Datenbank (d.h. es stellt seine Daten nicht in einem relationsbasierten Schema dar, wie z.B. MariaDB) darstellt. Es wird häufig genutzt, um große Datenmenge zu verwalten und schnell abzufragen, beispielsweise am ''Large Hadron Collider'', dem Teilchenbeschleuniger des CERNs.


=== Geschichte ===
=== <u>Geschichte</u> ===
Im Jahre 2007 begann die Entwicklung durch die ''MongoDB, Inc.'' (früher ''10gen''), welche 2009 zu Erstveröffentlichung führte. Seitdem ist das Projekt auch Open-Source und unter dem Git-Repository https://github.com/mongodb/mongo zu finden.  
Im Jahre 2007 begann die Entwicklung durch die ''MongoDB, Inc.'' (früher ''10gen''), welche 2009 zu Erstveröffentlichung führte. Seitdem ist das Projekt auch Open-Source und unter [https://github.com/mongodb/mongo diesem Git-Repository] zu finden.  


== Aufbau ==
== Aufbau ==
Im Gegensatz zu herkömmlichen SQL-Datenbanken, die ihre Informationen ins vordefinierten Tabellen in einzelnen Zeilen und Spalten speichern, nutzt MongoDB ein System von Collections und Documents. Damit kann z.B. ein Unternehmen ein Dokument anlegen in den ein Kunde zwei Adressen und drei Telefonnummern, der nächste aber nur eine Adresse und nur eine Telefonnummer hat. MongoDB ermöglicht also die Speicherung von Daten in einem natürlichen Format. Durch diese Schema entstehen drei große Vorteile:
Im Gegensatz zu herkömmlichen SQL-Datenbanken, die ihre Informationen ins vordefinierten Tabellen in einzelnen Zeilen und Spalten speichern, nutzt MongoDB ein System von Collections und Documents. Damit kann z.B. ein Unternehmen ein Dokument anlegen in den ein Kunde zwei Adressen und drei Telefonnummern, der nächste aber nur eine Adresse und nur eine Telefonnummer hat. MongoDB ermöglicht also die Speicherung von Daten in einem natürlichen Format. Durch diese Schema entstehen drei große Vorteile:


https://www.opc-router.de/was-ist-mongodb/
===== <u>'''Flexibilität'''</u> =====
Aurgrund der Speicherung der Daten in den JSON ähnlichen BSON-Dateien (BSON: ''binary JSON'') gespeichert werden, ist das Datenbankschema dynamisch. Damit können Objekte in einer Collection verschieden modelliert und manipuliert werden, was besonders in wirtschaftlichen Abläufen mit viel Variation nützlich ist.


https://www.purestorage.com/de/knowledge/what-is-mongodb.html
Aufgrund dieser Strukturierung ist die nachträgliche Bearbeitung der Datenbank hinsichtlich der Features simpel, während es bei herkömmlichen Datenbanken mit Querverweisen und festen Datentypen sehr kompliziert wird.


* Flexibilität
===== <u>'''Teilbarkeit'''</u> =====
MongoDB erlaubt eine horizontale Skalierung der Daten (das sog. ''Sharding''). Das heißt, wenn die Datenlast für einen Server zu groß wird, kann sie auf mehrere verteilt werden, ohne das Datenprozesse unterbrochen werden. Hiermit werden auch redundante Kopien auf verschiedenen Servern angelegt, womit ein Fehler nicht das gesamte System lahmlegen kann.
 
====== <u>'''Bessere Laufzeit'''</u> ======
Zur schneller Barbeitung von Anfragen, werder Daten im RAM zwischengespeichert, anstatt sie immer direkt von der Festplatte zu lesen. Dadurch wird es möglich, schneller auf diese zuzugreifen und gegebenenfalls zu manipulieren. Die Struktur von MongoDB sorgt zusätzlich dafür, dass das Lesen der Daten effizienter ist als bei seinen SQL-Gegenstücken.
 
== Anwendung ==
Aufgrund seiner Flexibilität und der Fähigkeit, mit großen Datenmengen umzugehen, ist MongoDB gut geeignet, um mit Big Data zu speichern, bearbeiten und zu visualisieren. Weil es zudem Sharding erlaubt, können eine große Anzahl an Leuten/Teams gemeinsam mit MongoDB arbeiten. Ferner ist seine Datenstruktur der BSON-Dateien
 
So wird es zum Beispiel bei CERN als Datenbank für die Forschungsdaten, bei der New York Times oder beim Onlineversandhandel Etsy für ihre Websiteverwaltung genutzt.
<references group="MongoDB" />
https://de.wikipedia.org/wiki/MongoDB
 
https://www.purestorage.com/uk/knowledge/what-is-mongodb.html
 
https://www.opc-router.com/what-is-mongodb/

Version vom 15. März 2023, 09:54 Uhr

MongoDB

Logo von MongoDB
Das offizielle Logo von MongoDB

Allgemeines

MongoDB (vom englischen "humongous", dt. "gigantisch" ) ist ein Datenbankprogramm, welches sich auf Dokumente spezialisiert, also eine NoSQL-Datenbank (d.h. es stellt seine Daten nicht in einem relationsbasierten Schema dar, wie z.B. MariaDB) darstellt. Es wird häufig genutzt, um große Datenmenge zu verwalten und schnell abzufragen, beispielsweise am Large Hadron Collider, dem Teilchenbeschleuniger des CERNs.

Geschichte

Im Jahre 2007 begann die Entwicklung durch die MongoDB, Inc. (früher 10gen), welche 2009 zu Erstveröffentlichung führte. Seitdem ist das Projekt auch Open-Source und unter diesem Git-Repository zu finden.

Aufbau

Im Gegensatz zu herkömmlichen SQL-Datenbanken, die ihre Informationen ins vordefinierten Tabellen in einzelnen Zeilen und Spalten speichern, nutzt MongoDB ein System von Collections und Documents. Damit kann z.B. ein Unternehmen ein Dokument anlegen in den ein Kunde zwei Adressen und drei Telefonnummern, der nächste aber nur eine Adresse und nur eine Telefonnummer hat. MongoDB ermöglicht also die Speicherung von Daten in einem natürlichen Format. Durch diese Schema entstehen drei große Vorteile:

Flexibilität

Aurgrund der Speicherung der Daten in den JSON ähnlichen BSON-Dateien (BSON: binary JSON) gespeichert werden, ist das Datenbankschema dynamisch. Damit können Objekte in einer Collection verschieden modelliert und manipuliert werden, was besonders in wirtschaftlichen Abläufen mit viel Variation nützlich ist.

Aufgrund dieser Strukturierung ist die nachträgliche Bearbeitung der Datenbank hinsichtlich der Features simpel, während es bei herkömmlichen Datenbanken mit Querverweisen und festen Datentypen sehr kompliziert wird.

Teilbarkeit

MongoDB erlaubt eine horizontale Skalierung der Daten (das sog. Sharding). Das heißt, wenn die Datenlast für einen Server zu groß wird, kann sie auf mehrere verteilt werden, ohne das Datenprozesse unterbrochen werden. Hiermit werden auch redundante Kopien auf verschiedenen Servern angelegt, womit ein Fehler nicht das gesamte System lahmlegen kann.

Bessere Laufzeit

Zur schneller Barbeitung von Anfragen, werder Daten im RAM zwischengespeichert, anstatt sie immer direkt von der Festplatte zu lesen. Dadurch wird es möglich, schneller auf diese zuzugreifen und gegebenenfalls zu manipulieren. Die Struktur von MongoDB sorgt zusätzlich dafür, dass das Lesen der Daten effizienter ist als bei seinen SQL-Gegenstücken.

Anwendung

Aufgrund seiner Flexibilität und der Fähigkeit, mit großen Datenmengen umzugehen, ist MongoDB gut geeignet, um mit Big Data zu speichern, bearbeiten und zu visualisieren. Weil es zudem Sharding erlaubt, können eine große Anzahl an Leuten/Teams gemeinsam mit MongoDB arbeiten. Ferner ist seine Datenstruktur der BSON-Dateien

So wird es zum Beispiel bei CERN als Datenbank für die Forschungsdaten, bei der New York Times oder beim Onlineversandhandel Etsy für ihre Websiteverwaltung genutzt.

https://de.wikipedia.org/wiki/MongoDB

https://www.purestorage.com/uk/knowledge/what-is-mongodb.html

https://www.opc-router.com/what-is-mongodb/