Llançament de FerretDB 0.3, implementació de MongoDB basada en SGBD PostgreSQL

S'ha publicat el llançament del projecte FerretDB 0.3, que permet substituir el DBMS MongoDB orientat a documents per PostgreSQL sense fer canvis al codi de l'aplicació. FerretDB s'implementa com a servidor intermediari que tradueix les trucades a MongoDB en consultes SQL a PostgreSQL, cosa que us permet utilitzar PostgreSQL com a emmagatzematge real. El codi està escrit a Go i es distribueix sota la llicència Apache 2.0.

La necessitat de migració pot sorgir en relació amb la transició de MongoDB a una llicència SSPL no lliure, que es basa en la llicència AGPLv3, però no està oberta, ja que conté un requisit discriminatori per proporcionar sota la llicència SSPL no només l'aplicació. el propi codi, però també els codis font de tots els components implicats en la prestació del servei al núvol.

El principal públic objectiu de FerretDB són els usuaris que no utilitzen les funcions avançades de MongoDB a les seves aplicacions, però volen utilitzar una pila de programari completament oberta. En l'etapa actual de desenvolupament, FerretDB encara només admet una part de les funcions de MongoDB que s'utilitzen amb més freqüència a les aplicacions típiques. En el futur, tenen previst aconseguir una compatibilitat total amb els controladors de MongoDB i oferir la possibilitat d'utilitzar FerretDB com a substitut transparent de MongoDB.

MongoDB ocupa un nínxol entre sistemes ràpids i escalables que operen amb dades clau/valor i SGBD relacionals que són funcionals i fàcils de consultar. MongoDB admet l'emmagatzematge de documents en un format semblant a JSON, té un llenguatge bastant flexible per generar consultes, pot crear índexs per a diversos atributs emmagatzemats, proporciona de manera eficient l'emmagatzematge d'objectes binaris grans, admet el registre d'operacions per canviar i afegir dades a la base de dades, pot treballar d'acord amb el paradigma Map/Reduce, admet la replicació i la creació de configuracions tolerants a errors.

La versió 0.3 de FerretDB va introduir l'ordre findAndModify, que modifica un document però el torna a la seva versió original. S'han implementat els operadors d'actualització de camp $inc i $set. S'ha afegit suport per ordenar els tipus de dades escalars.

Font: opennet.ru

Afegeix comentari