Lanzamiento de FerretDB 0.3, una implementación de MongoDB basada en el DBMS PostgreSQL

Se ha publicado el lanzamiento del proyecto FerretDB 0.3, que permite reemplazar el DBMS MongoDB orientado a documentos con PostgreSQL sin realizar cambios en el código de la aplicación. FerretDB se implementa como un servidor proxy que traduce las llamadas a MongoDB en consultas SQL a PostgreSQL, lo que le permite usar PostgreSQL como almacenamiento real. El código está escrito en Go y se distribuye bajo la licencia Apache 2.0.

La necesidad de migración puede surgir en relación con la transición de MongoDB a una licencia SSPL no libre, que se basa en la licencia AGPLv3, pero no está abierta, ya que contiene un requisito discriminatorio para proporcionar bajo la licencia SSPL no solo la aplicación código en sí, sino también los códigos fuente de todos los componentes involucrados en la prestación del servicio en la nube.

El público objetivo principal de FerretDB son los usuarios que no utilizan las funciones avanzadas de MongoDB en sus aplicaciones, pero desean utilizar una pila de software completamente abierta. En la etapa actual de desarrollo, FerretDB aún admite solo una parte de las características de MongoDB que se usan con mayor frecuencia en las aplicaciones típicas. En el futuro, planean lograr una compatibilidad total con los controladores para MongoDB y brindar la capacidad de usar FerretDB como un reemplazo transparente para MongoDB.

MongoDB ocupa un nicho entre los sistemas rápidos y escalables que operan con datos clave/valor y los DBMS relacionales que son funcionales y fáciles de consultar. MongoDB admite el almacenamiento de documentos en un formato similar a JSON, tiene un lenguaje bastante flexible para generar consultas, puede crear índices para varios atributos almacenados, proporciona almacenamiento eficiente de objetos binarios grandes, admite el registro de operaciones para cambiar y agregar datos a la base de datos, puede trabajar de acuerdo con el paradigma Map/Reduce, admite la replicación y la construcción de configuraciones tolerantes a fallas.

La versión FerretDB 0.3 introdujo el comando findAndModify, que modifica un documento pero lo devuelve a su versión original. Se han implementado los operadores de actualización de campos $inc y $set. Se agregó soporte para ordenar tipos de datos escalares.

Fuente: opennet.ru

Añadir un comentario