Lanzamento de FerretDB 0.3, implementación de MongoDB baseada en DBMS PostgreSQL

Publicouse a versión do proxecto FerretDB 0.3, que permite substituír o DBMS MongoDB orientado a documentos por PostgreSQL sen facer cambios no código da aplicación. FerretDB está implementado como un servidor proxy que traduce as chamadas a MongoDB en consultas SQL a PostgreSQL, o que lle permite usar PostgreSQL como almacenamento real. O código está escrito en Go e distribúese baixo a licenza Apache 2.0.

A necesidade de migración pode xurdir en relación coa transición de MongoDB á licenza propietaria SSPL, que se basea na licenza AGPLv3, pero non está aberta, xa que contén un requisito discriminatorio para entregar baixo a licenza SSPL non só o código da aplicación en si. , pero tamén os códigos fonte de todos os compoñentes implicados na prestación do servizo na nube.

O público obxectivo principal de FerretDB son os usuarios que non usan as capacidades avanzadas de MongoDB nas súas aplicacións, pero queren utilizar unha pila de software completamente aberta. Na fase actual de desenvolvemento, FerretDB aínda soporta só parte das capacidades de MongoDB que se usan con máis frecuencia nas aplicacións típicas. No futuro, planean lograr unha compatibilidade total cos controladores para MongoDB e ofrecer a posibilidade de usar FerretDB como substituto transparente de MongoDB.

MongoDB ocupa un nicho entre sistemas rápidos e escalables que operan con datos en formato clave/valor e DBMS relacionais que son funcionais e fáciles de formular consultas. MongoDB admite o almacenamento de documentos en formato JSON, ten unha linguaxe bastante flexible para xerar consultas, pode crear índices para varios atributos almacenados, ofrece almacenamento de grandes obxectos binarios de forma eficiente, admite o rexistro de operacións para cambiar e engadir datos á base de datos, pode traballar de acordo co paradigma Map/Reduce, admite a replicación e construción de configuracións tolerantes a fallos.

A versión 0.3 de FerretDB introduciu o comando findAndModify, que modifica un documento pero o devolve á súa versión orixinal. Implementáronse os operadores de actualización de campo $inc e $set. Engadido soporte para clasificar tipos de datos escalares.

Fonte: opennet.ru

Engadir un comentario