Uitgave van FerretDB 0.3, een implementatie van MongoDB gebaseerd op het PostgreSQL DBMS

De release van het FerretDB 0.3-project is gepubliceerd, waarmee u de documentgeoriënteerde DBMS MongoDB kunt vervangen door PostgreSQL zonder wijzigingen aan te brengen in de applicatiecode. FerretDB is geïmplementeerd als een proxyserver die oproepen naar MongoDB vertaalt in SQL-query's naar PostgreSQL, waardoor u PostgreSQL als daadwerkelijke opslag kunt gebruiken. De code is geschreven in Go en gedistribueerd onder de Apache 2.0-licentie.

De noodzaak tot migratie kan zich voordoen in verband met de overgang van MongoDB naar de niet-vrije SSPL-licentie, die is gebaseerd op de AGPLv3-licentie, maar niet open is, omdat deze een discriminerende vereiste bevat om onder de SSPL-licentie niet alleen de applicatie te leveren code zelf, maar ook de broncodes van alle componenten die betrokken zijn bij de levering van de clouddienst.

De primaire doelgroep van FerretDB bestaat uit gebruikers die de geavanceerde mogelijkheden van MongoDB niet in hun applicaties gebruiken, maar een volledig open softwarestack willen gebruiken. In de huidige ontwikkelingsfase ondersteunt FerretDB nog steeds slechts een deel van de MongoDB-mogelijkheden die het vaakst worden gebruikt in typische toepassingen. In de toekomst zijn ze van plan volledige compatibiliteit te bereiken met stuurprogramma's voor MongoDB en de mogelijkheid te bieden om FerretDB te gebruiken als een transparante vervanging voor MongoDB.

MongoDB neemt een niche in tussen snelle en schaalbare systemen die werken op sleutel-/waardegegevens en relationele DBMS'en die functioneel en gemakkelijk te doorzoeken zijn. MongoDB ondersteunt het opslaan van documenten in een JSON-achtig formaat, heeft een redelijk flexibele taal voor het genereren van query's, kan indexen maken voor verschillende opgeslagen attributen, biedt efficiënte opslag van grote binaire objecten, ondersteunt het loggen van bewerkingen om te wijzigen en gegevens toe te voegen aan de database, kan werken volgens het paradigma Map/Reduce, ondersteunt replicatie en het bouwen van fouttolerante configuraties.

De FerretDB 0.3-release introduceerde de opdracht findAndModify, die een document wijzigt maar terugzet naar de oorspronkelijke versie. Veldupdateoperatoren $inc en $set zijn geïmplementeerd. Ondersteuning toegevoegd voor het sorteren van scalaire gegevenstypen.

Bron: opennet.ru

Voeg een reactie