Lansarea FerretDB 0.3, o implementare MongoDB pe baza SGBD PostgreSQL

A fost publicată versiunea 0.3 a proiectului FerretDB, care permite înlocuirea bazei de date orientate pe documente MongoDB cu PostgreSQL fără modificări în codul aplicațiilor. FerretDB este implementat ca un server proxy, tradusând cererile către MongoDB în interogări SQL către PostgreSQL, ceea ce permite utilizarea PostgreSQL ca efectiv depozit. Codul este scris în Go și este distribuit sub licența Apache 2.0.

Necesitatea migrării poate apărea din cauza trecerii MongoDB la o licență neoptimizată SSPL, care se bazează pe licența AGPLv3, dar nu este deschisă, deoarece conține o cerință discriminatorie de livrare sub licența SSPL nu doar a codului aplicației în sine, ci și a codurilor sursă ale tuturor componentelor implicate în furnizarea serviciului cloud.

Principala audiență țintă a FerretDB este utilizatorii care nu folosesc în aplicațiile lor funcționalitățile avansate ale MongoDB, dar doresc să utilizeze un stack software complet deschis. În prezent, FerretDB susține doar o parte din funcționalitățile MongoDB, cele mai des utilizate în aplicațiile tipice. În viitor, se planifică atingerea compatibilității complete cu driverele pentru MongoDB și oferirea posibilității de a utiliza FerretDB ca o înlocuire transparentă a MongoDB.

MongoDB ocupă un loc între sistemele rapide și scalabile care operează cu date în format cheie/valoare și sistemele de gestionare a bazelor de date relaționale, care sunt funcționale și convenabile pentru formularea interogărilor. MongoDB suportă stocarea documentelor în format asemănător JSON, are un limbaj destul de flexibil pentru formularea interogărilor, poate crea indici pentru diverse atribute stocate, asigură eficient stocarea obiectelor binare mari, suportă jurnalizarea operațiunilor de modificare și adăugare a datelor în BD, poate funcționa conform paradigmei Map/Reduce, suportă replicarea și construirea configurațiilor redundante.

În versiunea 0.3 a FerretDB a fost implementată comanda findAndModify care modifică un document, dar returnează versiunea sa inițială. S-au implementat operatorii de actualizare a câmpurilor — $inc și $set. A fost adăugat suport pentru sortarea tipurilor de date scalare.

Sursa: opennet.ro

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster