Lansarea FerretDB 0.7, o implementare MongoDB bazată pe SGBD PostgreSQL

A fost publicat versiunea 0.7 a proiectului FerretDB, care permite înlocuirea sistemului de gestionare a bazelor de date documentare MongoDB cu PostgreSQL fără modificări ale codului aplicațiilor. FerretDB este implementat ca un server proxy, translatând solicitările către MongoDB în interogări SQL pentru PostgreSQL, ceea ce permite utilizarea PostgreSQL ca stocare efectivă. Codul este scris în limbajul 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.

Printre modificările din FerretDB 0.7:

  • A fost implementată comanda de diagnosticare msg_explain, necesară pentru platforma Tigris.
  • Comenzii listCollections i s-a adăugat suport pentru filtre (opțiunea „filter”).
  • Utilizarea simbolului „-” în numele BD-urilor este permisă.
  • Numărul parametrilor susținuți în comanda find a fost crescut.
  • În pachetul wire cu implementarea protocolului „wire” (protocol pentru interacțiunea cu MongoDB) a fost adăugată capacitatea de a verifica documentele. Versiunea minim acceptată a protocolului wire a fost redusă la 13, care corespunde MongoDB 5.0.

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