FerretDB 1.0 wurde bereits veröffentlicht und das sind seine Neuigkeiten

FerretDB

FerretDB wurde gegründet, um de facto der Open-Source-Ersatz für MongoDB zu werden.

Der Start der neue Version des FerretDB 1.0-Projekts, wodurch Sie das dokumentorientierte DBMS von MongoDB durch PostgreSQL ersetzen können, ohne Änderungen an Ihrem Anwendungscode vorzunehmen. FerretDB ist als Proxy-Server implementiert, der MongoDB-Aufrufe in SQL-Abfragen in PostgreSQL übersetzt, sodass Sie PostgreSQL als tatsächlichen Speicher verwenden können.

Version 1.0 ist als erste stabile Version gekennzeichnet, die zur allgemeinen Verwendung bereit ist. Die primäre Zielgruppe von FerretDB sind Benutzer, die in ihren Anwendungen nicht die erweiterten Funktionen von MongoDB verwenden, sondern einen vollständig offenen Software-Stack verwenden möchten.

In seiner jetzigen Entwicklungsphase FerretDB unterstützt eine Teilmenge von MongoDB-Funktionen die in typischen Anwendungen am häufigsten verwendet werden. Die Notwendigkeit, FerretDB zu implementieren, kann sich im Zusammenhang mit der Umstellung von MongoDB auf eine unfreie SSPL-Lizenz ergeben, die auf der AGPLv3-Lizenz basiert, aber nicht Open Source ist, da sie eine diskriminierende Anforderung enthält, nicht nur unter der SSPL-Lizenz bereitzustellen der Anwendungscode selbst, aber auch die Quellcodes aller an der Bereitstellung von Cloud-Diensten beteiligten Komponenten.

MongoDB besetzt eine Nische zwischen schnellen und skalierbaren Systemen, die mit Schlüssel/Wert-Daten und DBMSs arbeiten Relationale Datenbanken, die funktional und einfach abzufragen sind. MongoDB unterstützt das Speichern von Dokumenten in einem JSON-ähnlichen Format, hat eine ziemlich flexible Sprache zum Erstellen von Abfragen, kann Indizes für verschiedene gespeicherte Attribute erstellen, bietet eine effiziente Speicherung von binären großen Objekten, unterstützt Protokollierungsvorgänge zum Ändern und Hinzufügen von Daten zur Datenbank und kann funktionieren unterstützt gemäß dem Map/Reduce-Paradigma die Replikation und den Aufbau fehlertoleranter Konfigurationen.

Hauptneuheiten von FerretDB 1.0

In dieser neuen Version, die vorgestellt wird, wird dies hervorgehoben Die Befehle createIndexes und dropIndexes wurden implementiert um zusätzlich zum Befehl einen oder mehrere Indizes für eine Sammlung zu erstellen und zu platzieren getMore wurde implementiert, um einen neuen Teil des abgerufenen Ergebnisses anzuzeigen von der Ausführung von Befehlen, die einen Cursor zurückgeben, wie z. B. find und add.

Eine weitere der Änderungen, die sich von der neuen Version abhebt Unterstützung für den Aggregationsoperator $sum hinzugefügt um die Summe der Gruppenwerte sowie das, was hinzugefügt wurde, zu berechnen Unterstützung für die $limit- und $skip-Operatoren um die Anzahl zu begrenzen und Dokumente beim Hinzufügen zu überspringen und dass die Unterstützung für den $count-Operator hinzugefügt wurde, um Dokumente beim Hinzufügen zu zählen.

Darüber hinaus wird auch darauf hingewiesen, dass die Unterstützung für den $unwind-Operator hinzugefügt wurde, um die Array-Felder in eingehenden Dokumenten zu analysieren und eine Liste mit einem separaten Dokument für jedes Element des Arrays zu bilden, und dass auch eine teilweise Unterstützung für die Befehle collStats hinzugefügt wurde. dbStats und dataSize, um Sammlungs- und Datenbankstatistiken sowie die Größe der Daten abzurufen.

Der andere Änderungen, die auffallen der neuen Version:

  • Iteratoren werden nun für `sort`, `limit`, `skip` und `projection` verwendet
  • Bump-Abhängigkeiten
  • Verbesserungen der Ressourcenverfolgung
  • Tests für das `skip`-Argument von `find` und `count` hinzugefügt
  • Schließen Sie den Iterator ordnungsgemäß
  • Verbesserungen bei der Initialisierung großer Zahlen in Testdaten

Schließlich wenn Sie mehr darüber wissen möchtenkönnen Sie die Details überprüfen im folgenden Link.

Für diejenigen, die sich für den Code interessieren, sollten Sie wissen, dass er in Go geschrieben ist und unter der Apache 2.0-Lizenz vertrieben wird.

Und das sollten sie wissen Der beste Weg, FerretDB zu testen, besteht darin, es zu modifizieren und auf dem Host auszuführen (Linux, macOS oder Windows) mit PostgreSQL und anderen Abhängigkeiten, die in Docker-Containern über Docker Compose ausgeführt werden.

Unter Linux muss Docker auf dem Host installiert sein. Unter macOS und Windows muss Docker Desktop verwendet werden, während es unter Windows für die Verwendung von WSL 2 ohne Distribution konfiguriert werden muss; Alle Befehle müssen auf dem Host ausgeführt werden.


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: AB Internet Networks 2008 SL
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.