Veröffentlichung von FerretDB 0.3, einer Implementierung von MongoDB auf Basis der Datenbank PostgreSQL.

Die Veröffentlichung der FerretDB-Version 0.3 ermöglicht es, die dokumentenorientierte Datenbank MongoDB durch PostgreSQL zu ersetzen, ohne den Anwendungscode zu ändern. FerretDB fungiert als Proxy-Server, der Anfragen an MongoDB in SQL-Abfragen für PostgreSQL umwandelt und es ermöglicht, PostgreSQL als tatsächlichen Speicher zu verwenden. Der Code ist in der Programmiersprache Go geschrieben und wird unter der Lizenz Apache 2.0 verbreitet.

Die Notwendigkeit zur Migration kann durch den Übergang von MongoDB zu der nicht freien SSPL-Lizenz entstehen, die auf der AGPLv3-Lizenz basiert, aber nicht offen ist, da sie diskriminierende Anforderungen für die Bereitstellung unter der SSPL-Lizenz enthält, die nicht nur den Quellcode der Anwendung selbst, sondern auch den Quellcode aller Komponenten, die an der Bereitstellung des Cloud-Services beteiligt sind, betrifft.

Die Hauptzielgruppe von FerretDB sind Nutzer, die in ihren Anwendungen keine erweiterten Funktionen von MongoDB nutzen, aber einen vollständig offenen Software-Stack verwenden möchten. In der aktuellen Entwicklungsphase unterstützt FerretDB bisher nur einen Teil der Funktionen von MongoDB, die in typischen Anwendungen am häufigsten verwendet werden. In Zukunft planen sie, die volle Kompatibilität mit den Treibern für MongoDB zu erreichen und FerretDB als transparente Alternative zu MongoDB anzubieten.

MongoDB nimmt eine Sonderstellung zwischen schnellen und skalierbaren Systemen ein, die mit Schlüssel/Wert-Daten arbeiten, und relationalen Datenbanksystemen, die funktional und benutzerfreundlich für die Abfragegestaltung 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 binärer Objekte. Darüber hinaus unterstützt es das Logging von Operationen zur Datenänderung und -erweiterung, kann gemäß der Map/Reduce-Paradigma arbeiten und bietet Replikation sowie den Aufbau von fehlertoleranten Konfigurationen.

Die FerretDB-Version 0.3 implementiert den Befehl findAndModify, der ein Dokument ändert, jedoch dessen ursprüngliche Version zurückgibt. Feldaktualisierungsoperatoren – $inc und $set – wurden implementiert. Zudem wurde die Unterstützung für die Sortierung von skalaren Datentypen hinzugefügt.

Quelle: opennet.ru

Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster