FerretDB 0.3 ja va ser alliberada, coneix les novetats d'aquesta modernització de MangoDB

Fa algunes setmanes compartim aquí al blog la notícia sobre el canvi del nom del projecte de MangoDB que permet reemplaçar el DBMS orientat a documents de MongoDB amb PostgreSQL sense fer canvis en el codi de l'aplicació.

El nou nom del projecte és FerretDB i recentment es va donar a conèixer lalliberament de la versió 0.3 del projecte. La versió FerretDB 0.3 presenta l'ordre findAndModify, que modifica un document però torna la seva versió original, a més que es van implementar operadors d'actualització de camp, entre d'altres coses més.

Per als que encara desconeixen de FerretDB, han de saber que aquest s'implementa com un servidor intermediari que tradueix les trucades a MongoDB en consultes SQL a PostgreSQL, el que us permet utilitzar PostgreSQL com a emmagatzematge real.

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 és oberta, ja que conté un requisit discriminatori per proporcionar sota la llicència SSPL no només l'aplicació codi en si, sinó també els codis font de tots els components involucrats en la prestació del servei al núvol.

El públic objectiu principal de FerretDB són els usuaris que no utilitzen les funcions avançades de MongoDB a les seves aplicacions, però que volen utilitzar una pila de programari completament oberta.

En l'etapa actual de desenvolupament, FerretDB encara admet només una part de les característiques de MongoDB que es fan servir amb més freqüència en les aplicacions típiques. En el futur, planegen aconseguir una compatibilitat total amb els controladors per a MongoDB i brindar la capacitat d'usar FerretDB com un reemplaçament transparent per a MongoDB.

MongoDB ocupa un nínxol entre els sistemes ràpids i escalables que operen amb dades clau/valor i els DBMS relacionals que són funcionals i fàcils de consultar.

MongoDB admet l'emmagatzematge de documents en un format similar a JSON, té un llenguatge força flexible per generar consultes, pot crear índexs per a diversos atributs emmagatzemats, proporciona emmagatzematge eficient d'objectes binaris grans, admet el registre d'operacions per canviar i afegir dades a la base de dades, podeu treballar d'acord amb el paradigma Map/Reduce, admet la replicació i la construcció de configuracions tolerants a falles.

A causa de les diferències a la semàntica de les funcions json de PostgreSQL i MongoDB, hi va haver una discrepància en el comportament en comparar i ordenar diferents tipus. Per resoldre aquest problema, ara s'extreu una mostra de dades redundants de PostgreSQL i el filtratge del resultat es realitza al costat de FerretDB, fet que va fer possible repetir el comportament de MongoDB en la majoria de les situacions.

Principals novetats de FerretDB 0.3

Tal com es va esmentar a l'inici, la nova versió de FerretDB 0.3 es destaca per introduir el ordre findAndModify, que modifica un document, però torna la seva versió original.

Altres dels canvis que es destaquen és que s'ha millorat el maneig del zero negatiu, així com també que es va afegir el suport per ordenar tipus de dades escalars.

També es destaquen els nous operadors d'actualització de camp implementats: $inc i $set, a més que es va afegir suport per ordenar tipus de dades escalars.

D'altra banda, es fa esment que s'han realitzat diverses millores per al maneig de les versions de PostgreSQL i MongoDB.

A més d'això, també es destaca que es va solucionar la prova incorrecta per a l'operador $mod, també que s'emet la prova en tots els sistemes operatius ARM64 i que es va afegir més visibilitat per als nivells de registre d'errors de l'encaminador/proxy.

Dels altres canvis que es destaquen d'aquesta nova versió:

  • Actualitzar CODEOWNERS
  • Sincronitzar controladors ficticis i pg
  • Reanomenar OP_*constants a OpCode*constants
  • Millorar gopkg.in/yaml.v3
  • Bump gopkg.in/yaml.v3 en eines
  • Fer tipus Path
  • Pànic en valors de comandes inesperades
  • Afegiu alguns comentaris a les funcions i variables
  • Eliminar codi mort

Finalment si estàs interessat en poder conèixer més a l'respecte, Pots consultar els detalls en el següent enllaç.


Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà. Els camps obligatoris estan marcats amb *

*

*

  1. Responsable de les dades: AB Internet Networks 2008 SL
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.