Was ist MongoDB?

MongoDB ist eine Open Source dokumentenorientierte Datenbank mit einem Fokus auf Performance, Verfügbarkeit, Skalierbarkeit und einfache Benutzung.

Daten werden in MongoDB im BSON-Format (Binary JSON) abgelegt. Dadurch eignet sich MongoDB sehr gut für Webapplikationen, insbesondere NodeJS-Applikationen, da von der Datenbank bis zum Webbrowser JSON als Datenformat beibehalten werden kann.

Dokumente in MongoDB sind prinzipiell schema-frei. Für flexible Datenstrukturen ist eine schema-freie Datenbank ideal.

powered by mongodb

Warum MongoDB?

MongoDB bietet gegenüber herkömmlichen relationalen Datenbanken zahlreiche Vorteile in der Performancecharakteristik.

Für Line-of-Business-Applikationen liegt der Hauptvorteil aber in der Effizienz und Einfachheit der Entwicklung auf Basis einer dokumentenorientierten Datenbank.

MongoDB vereint die Vorteile von relationalen Datenbanken (z.B. Ad-hoc-Queries, Write Consistency, Atomic Updates) mit den Vorteilen von NoSQL-Datenbanken (Performance, Einfachheit in der Benutzung u.v.m.)

Betrieb von MongoDB

MongoDB ist in der Administration sehr einfach zugänglich. Zahlreiche mitgelieferte Tools und ein umfangreiches Utility-Ökosystem ermöglichen Monitoring, Backup/Restore, User Management u.v.m. auf einfache Art und Weise.

Durch Deployment als sogenanntes Replica Set kann man MongoDB in einem Cluster-Setup für redundante Datenhaltung betreiben.

MongoDB bietet Benutzer-Authentifizierung per Benutzername/Passwort und Kerberos. Die Autorisierung erfolgt über ein Rollenkonzept, das eine fein-granulare Zugriffsberechtigung ermöglicht.

Backup/Restore

Für Backup und Restore von Datenbanken bietet MongoDB zwei einfach zu bedienende Command Line-Tools (mongodump, mongorestore), die den aktuellen Datenstand in Dateien ablegen bzw. von dort wiederherstellen. Mongodump kann dabei jederzeit während dem laufenden Betrieb ausgeführt werden.

Empfehlenswert ist, mongodump periodisch auszuführen und die generierten Dateien in weiterer Folge per regulärem File System-Backup zu sichern.