Frigivelse af FerretDB 0.3, MongoDB-implementering baseret på PostgreSQL DBMS

Frigivelsen af ​​FerretDB 0.3-projektet er blevet offentliggjort, som giver dig mulighed for at erstatte det dokumentorienterede DBMS MongoDB med PostgreSQL uden at foretage ændringer i applikationskoden. FerretDB er implementeret som en proxy-server, der oversætter opkald til MongoDB til SQL-forespørgsler til PostgreSQL, hvilket giver dig mulighed for at bruge PostgreSQL som det faktiske lager. Koden er skrevet i Go og distribueret under Apache 2.0-licensen.

Behovet for migrering kan opstå i forbindelse med overgangen af ​​MongoDB til den ikke-frie SSPL-licens, som er baseret på AGPLv3-licensen, men som ikke er åben, da den indeholder et diskriminerende krav om at levere under SSPL-licensen ikke kun applikationen selve koden, men også kildekoderne for alle komponenter, der er involveret i leveringsskytjenesten.

FerretDBs primære målgruppe er brugere, der ikke bruger de avancerede muligheder i MongoDB i deres applikationer, men ønsker at bruge en helt åben softwarestak. På det nuværende udviklingstrin understøtter FerretDB stadig kun en del af MongoDB-funktionerne, der oftest bruges i typiske applikationer. I fremtiden planlægger de at opnå fuld kompatibilitet med drivere til MongoDB og give mulighed for at bruge FerretDB som en gennemsigtig erstatning for MongoDB.

MongoDB indtager en niche mellem hurtige og skalerbare systemer, der opererer på nøgle-/værdidata og relationelle DBMS'er, der er funktionelle og nemme at forespørge på. MongoDB understøtter lagring af dokumenter i et JSON-lignende format, har et ret fleksibelt sprog til generering af forespørgsler, kan oprette indekser til forskellige lagrede attributter, giver effektivt lagring af store binære objekter, understøtter logning af operationer for at ændre og tilføje data til databasen, kan arbejde i overensstemmelse med paradigmet Map/Reduce, understøtter replikering og opbygning af fejltolerante konfigurationer.

FerretDB 0.3-udgivelsen introducerede findAndModify-kommandoen, som ændrer et dokument, men returnerer det til dets originale version. Feltopdateringsoperatørerne $inc og $set er blevet implementeret. Tilføjet støtte til sortering af skalardatatyper.

Kilde: opennet.ru

Tilføj en kommentar