Veröffentlichung von FerretDB 0.3, einer Implementierung von MongoDB basierend auf dem PostgreSQL-DBMS

Die Veröffentlichung des Projekts FerretDB 0.3 wurde veröffentlicht, mit der Sie das dokumentenorientierte DBMS MongoDB durch PostgreSQL ersetzen können, ohne Änderungen am Anwendungscode vorzunehmen. FerretDB ist als Proxyserver implementiert, der Aufrufe an MongoDB in SQL-Abfragen an PostgreSQL übersetzt, wodurch Sie PostgreSQL als eigentlichen Speicher verwenden können. Der Code ist in Go geschrieben und wird unter der Apache 2.0-Lizenz vertrieben.

Der Migrationsbedarf kann im Zusammenhang mit der Umstellung von MongoDB auf die proprietäre SSPL-Lizenz entstehen, die auf der AGPLv3-Lizenz basiert, aber nicht offen ist, da sie eine diskriminierende Anforderung enthält, unter der SSPL-Lizenz nicht nur den Anwendungscode selbst zu liefern , sondern auch die Quellcodes aller an der Bereitstellung des Cloud-Dienstes beteiligten Komponenten.

Die primäre Zielgruppe von FerretDB sind Benutzer, die in ihren Anwendungen nicht die erweiterten Funktionen von MongoDB nutzen, sondern einen vollständig offenen Software-Stack verwenden möchten. Im aktuellen Entwicklungsstadium unterstützt FerretDB noch nur einen Teil der MongoDB-Funktionen, die in typischen Anwendungen am häufigsten verwendet werden. Für die Zukunft ist geplant, vollständige Kompatibilität mit Treibern für MongoDB zu erreichen und die Möglichkeit bereitzustellen, FerretDB als transparenten Ersatz für MongoDB zu verwenden.

MongoDB besetzt eine Nische zwischen schnellen und skalierbaren Systemen, die Daten im Schlüssel-/Wertformat verarbeiten, und relationalen DBMS, die funktional sind und einfach Abfragen formulieren können. MongoDB unterstützt das Speichern von Dokumenten in einem JSON-ähnlichen Format, verfügt über eine ziemlich flexible Sprache zum Generieren von Abfragen, kann Indizes für verschiedene gespeicherte Attribute erstellen, ermöglicht die effiziente Speicherung großer Binärobjekte, unterstützt die Protokollierung von Vorgängen zum Ändern und Hinzufügen von Daten zur Datenbank arbeitet nach dem Paradigma Map/Reduce, unterstützt die Replikation und den Aufbau fehlertoleranter Konfigurationen.

Mit der Version FerretDB 0.3 wurde der Befehl findAndModify eingeführt, der ein Dokument ändert, es aber auf seine ursprüngliche Version zurücksetzt. Die Feldaktualisierungsoperatoren $inc und $set wurden implementiert. Unterstützung für das Sortieren skalarer Datentypen hinzugefügt.

Source: opennet.ru

Kommentar hinzufügen