MongoDB

MONGODB  WEB & MOBILE APPS DEVELOPMENT

 

MongoDB ist eine dokumentenorientierte NoSQL- Datenbank. NoSQL Datenbanken können im Gegensatz zu relationalen Datenbanken, wie z.B. MySQL, Daten in immer unterschiedlichen Feldern speichern und nicht in einer vorher definierten Anzahl an Feldern.

Unter diesen NoSQL Datenbanken zählt die unter einer Open-Source Lizenz stehende MongoDB zu den Populärsten. Dies liegt u.a. daran, dass sich MongoDB, wie auch andere nicht relationale Datenbanken, sehr gut für Projekte eignet, bei welchen viele unterschiedliche Daten erzeugt, gespeichert und schnell verarbeitet werden müssen.

MongoDB wurde im Jahre 2007 von MongoDB Inc. entwickelt, welches damals noch 10gen hieß. Die benutzte Programmiersprache ist C++.

Effizienz von nicht relationalen Datenbanken

Durch die nicht relationale Speicherung von MongoDB können während des laufenden Betriebes Datensätze erfassen ohne langwierige Umbaumaßnahmen vornehmen zu müssen. Vorteil ist außerdem, dass jederzeit die Möglichkeit gegeben ist durch Indexe Daten schnell wieder aus der Datenbank lesen zu können.

MongoDB ist perfekt geeignet, wenn Sie Ihr Webprojekt skalierbar und agil aufbauen und weiterentwickeln wollen. Das hierbei von MongoDB genutzte Dateienformat ist Binary JSON (BSON), welches and die JavaScript Object Notation (JSON) angelehnt ist. Hierdurch ist diese Datenbank besonders für Webanwendungen geeignet, da bei jeder Datenverarbeitung diese sofort konvertierungsfrei in der MongoDB abgelegt werden können.

Komplexes Dateimanagement durch GridFS

Mit Hilfe von dem Dateisystem GridFS ist es MongoDB möglich, komplette Dateien und die dazugehörigen Metadaten in der Datenbank abzuspeichern. Hierdurch sind keine additionellen Systeme notwendig um Dateien für mehrere Server zur Verfügung zu stellen. Ebenso kann durch Replikation auch verhindert werden, dass ein Verlust von Daten geschieht.

MongoDB hilft einfach und sicher zu skalieren und aggregieren

Der Aufbau der MongoDB Datenbank ermöglicht eine horizontale Skalierung. Ebenso kann die Datenbank auf mehrere Server verteilt werden, was zusammen mit weiteren Funktionalitäten die Gesamtgeschwindigkeit des Systems wesentlich erhöhen kann.

Besonders beim Aggregieren von Daten sieht man diesen Geschwindigkeitsvorteil deutlich. Es besteht bei einer MongoDB die Möglichkeit, einzelne Datenpunkte in einem Dokument zu inkrementieren. Hierdurch eignet sich eine MongoDB u.a. besonders um regelmäßige Berichte und Reports aus einer großen Datenmenge zu erzeugen und um Datensätze zusammenzufassen. Die Geschwindigkeit der MongoDB ermöglicht es hierbei die Reports in Echtzeit zu verarbeiten und auszugeben.

Das „Sharding“ (horizontale Skalierung) kann in der MongoDB einfach konfiguriert und dabei trotzdem der volle Funktionsumfang sichergestellt werden. Dies ist ein großer Vorteil im Vergleich mit anderen Datenbanksystemen, welche diese Möglichkeit gar nicht oder nur sehr schwer umsetzbar anbieten.

Standardmäßig wird bei einer MongoDB die Möglichkeit einer ausgereiften und vielfach getesten Replikation angeboten, welche Datensicherheit und Hochverfügbarkeit aller Daten stets gewährleistet. Diese funktioniert auch in Verbindung mit der horizontalen Skalierung, sodass die Daten jederzeit auf allen Servern zur Verfügung stehen.