Veröffentlichung von FerretDB 0.7, einer Implementierung von MongoDB auf Basis des PostgreSQL-Datenbanksystems.

Die Veröffentlichung von FerretDB 0.7 ermöglicht den Austausch der dokumentenorientierten Datenbank MongoDB gegen PostgreSQL, ohne dass Änderungen am Anwendungscode erforderlich sind. FerretDB fungiert dabei als Proxy-Server, der Anfragen an MongoDB in SQL-Abfragen an PostgreSQL übersetzt und es somit ermöglicht, PostgreSQL als tatsächliches Speichersystem zu verwenden. Der Code ist in Go geschrieben und wird unter der Apache 2.0-Lizenz verteilt.

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.

Zu den Änderungen in FerretDB 0.7 gehören:

  • Die diagnostische Kommandozeile msg_explain wurde für die Tigris-Plattform implementiert.
  • Der Befehl listCollections unterstützt jetzt Filter (Option „filter“).
  • Die Verwendung des Zeichens „-“ in Datenbanknamen ist nun erlaubt.
  • Die Anzahl der Parameter, die im Befehl find unterstützt werden, wurde erhöht.
  • Im Wire-Paket mit der Implementierung des "Wire"-Protokolls (ein Protokoll zur Interaktion mit MongoDB) wurde die Möglichkeit zur Überprüfung von Dokumenten hinzugefügt. Die minimal unterstützte Version des Wire-Protokolls wurde auf 13 gesenkt, was der MongoDB-Version 5.0 entspricht.

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