Polaris Systems Neuigkeiten
MongoDB: Dokumente als Datensätze
Seitdem nutzen es zahlreiche namhafte Unternehmen wie z.B. das standortbasierte Soziale Netzwerk „foursquare“ um den Anforderungen des WEB 2.0 gerecht zu werden. Der Name „Mongo“ wird aus dem englischen „humongous“ abgeleitet, was soviel bedeutet wie „riesig bzw. gigantisch“. Aktuell liegt MongoDB in der Version 2.0 vor. In dieser Version wurden zahlreiche Verbesserungen vorgenommen, so dass es nochmals eine Leistungsverbesserung gab.
Wie funktioniert MongoDB?
MongoDB gehört zu den dokumenten-orientierten Datenbanksystemen und ist somit schemafrei von festen Strukturen, wie sie es z.B. bei MySQL Systemen in Form von Tabellen, Relationen und Joins der Fall ist. Die Daten werden in so genannten Kollektionen abgelegt, welche vergleichbar mit den Tabellen bei MySQL Systemen sind. Jede Kollektion verfügt über Dokumente analog zu den Zeilen bei MySQL. Die Dokumente werden im JSON (JavaScript Object Notation) Format abgespeichert. Der entscheidende Vorteile liegt aber darin, dass man auf die Dokumente ähnlich wie in der objektorientierten Programmierung zu greifen kann und diese entsprechend frei ändern, bearbeiten und erweitern kann.
Keine eigene Abfragesprache
MongoDB besitzt keine eigene Abfragesprache wie es aus MySQL mit den Befehlen „Create, Read, Update, Delete" bereits bekannt sind. Stattdessen nutzt es die objektspezifischen Methoden der jeweiligen Programmiersprachen. Es gibt für fast alle gängigen Programmiersprachen wie z.B. PHP, Perl, Ruby, Python oder Java entsprechende Treiber, welche auf der MongoDB Webseite heruntergeladen und installiert werden können. Für Webentwickler ein riesiger Vorteil, da eine aufwendige Einarbeitung in eine neue Programmiersprache entfällt.
Wann sollte man MongoDB einsetzen?
Der Einsatz von MongoDB erschließt sich von selbst, wenn man für das zukünftige Projekt die Anforderungen frühzeitig festsetzt. Sollten noch Zweifel zwischen dem Einsatz von MySQL und NoSQL vorhanden sein, können die nachfolgenden Kriterien eine kleine Entscheidungshilfe sein.
- Es müssen große Datenmengen abgespeichert und bearbeitet werden.
- Die Daten sollen sich über mehrere Server verteilen lassen können.
- Die Datenstruktur wird sich oft verändern.
- Hohe Skalierbarkeit und Flexibilität.
Sollten eine oder mehrere Punkte mit ja beantwortet werden, sollte man den Einsatz von MongoDB als Alternative zu MySQL in Betracht ziehen.