Die erste öffentliche Version des MangoDB-Projekts ist verfügbar, die eine Schicht mit der Implementierung des Protokolls der dokumentenbasierten Datenbank MongoDB bietet, die über der Datenbank PostgreSQL arbeitet. Das Projekt zielt darauf ab, die Migration von Anwendungen, die MongoDB verwenden, auf PostgreSQL zu ermöglichen und einen vollständig offenen Software-Stack bereitzustellen. Der Code ist in Go geschrieben und wird unter der Lizenz Apache 2.0 verteilt.
Das Programm funktioniert als Proxy, der Anfragen an MangoDB in SQL-Abfragen an PostgreSQL umwandelt und PostgreSQL als tatsächlichen Speicher verwendet. Das Projekt ist mit MongoDB-Treibern kompatibel, befindet sich jedoch noch in der Prototypenphase und unterstützt derzeit keine erweiterten Funktionen des MongoDB-Protokolls, obwohl es bereits für die Migration einfacher Anwendungen geeignet ist.
Die Notwendigkeit, von MongoDB wegzugehen, kann entstehen, wenn das Projekt zu einer nicht freien Lizenz SSPL wechselt, die auf der Lizenz AGPLv3 basiert, jedoch nicht offen ist, da sie eine diskriminierende Anforderung hinsichtlich der Bereitstellung unter der SSPL-Lizenz sowohl für den Code der Anwendung als auch für den Quellcode aller Komponenten enthält, die an der Bereitstellung des Cloud-Dienstes beteiligt sind.
MongoDB nimmt einen Platz ein zwischen schnellen, skalierbaren Systemen zur Verarbeitung von Daten im Schlüssel-Wert-Format und relationalen Datenbanksystemen, die funktional und benutzerfreundlich bei der Abfrageerstellung sind. MongoDB unterstützt die Speicherung von Dokumenten im JSON-ähnlichen Format, verfügt über eine ausreichend flexible Abfragesprache, kann Indizes für verschiedene gespeicherte Attribute erstellen und gewährleistet effizient die Speicherung großer binary Objekte. Es unterstützt das Protokollieren von Operationen zur Änderung und Hinzufügung von Daten in die Datenbank, kann gemäß dem Map/Reduce-Paradigma arbeiten und ermöglicht die Replikation sowie den Aufbau ausfallsicherer Konfigurationen.
Quelle: opennet.ru
