Lanzamiento de FerretDB 0.7, una implementación de MongoDB basada en la base de datos PostgreSQL

Se ha publicado la versión 0.7 del proyecto FerretDB, que permite sustituir la base de datos orientada a documentos MongoDB por PostgreSQL sin modificar el código de las aplicaciones. FerretDB se implementa como un servidor proxy que traduce las solicitudes de MongoDB en consultas SQL a PostgreSQL, lo que permite usar PostgreSQL como el 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 debido al cambio de MongoDB a una licencia no libre, SSPL, que se basa en la licencia AGPLv3, pero no es abierta, ya que contiene el requisito discriminatorio de entregar no solo el código de la aplicación misma, sino también el código fuente de todos los componentes involucrados en la provisión del servicio en la nube bajo la licencia SSPL.

El público objetivo principal de FerretDB son los usuarios que no utilizan las funciones avanzadas de MongoDB en sus aplicaciones, pero desean un stack de software completamente abierto. En la etapa actual de desarrollo, FerretDB solo admite parte de las funcionalidades de MongoDB que son más comúnmente utilizadas en aplicaciones estándar. En el futuro, se planea alcanzar la plena compatibilidad con los controladores de MongoDB y ofrecer la posibilidad de utilizar FerretDB como un reemplazo transparente de MongoDB.

MongoDB ocupa un nicho entre sistemas rápidos y escalables que operan con datos en formato clave/valor, y bases de datos relacionales, que son funcionales y cómodas para la creación de consultas. MongoDB es compatible con el almacenamiento de documentos en formato similar a JSON, tiene un lenguaje bastante flexible para la creación de consultas, puede crear índices para diferentes atributos almacenados, gestiona de manera eficiente el almacenamiento de grandes objetos binarios, soporta el registro de operaciones de modificación y adición de datos en la base de datos, puede operar de acuerdo con la paradigma Map/Reduce, y ofrece replicación y configuraciones de alta disponibilidad.

Entre los cambios en FerretDB 0.7:

  • Se ha implementado el comando de diagnóstico msg_explain, necesario para la plataforma Tigris.
  • Se ha añadido soporte para filtros (opción «filter») en el comando listCollections.
  • Se ha permitido el uso del símbolo «-» en los nombres de las bases de datos.
  • Se ha incrementado el número de parámetros soportados en el comando find.
  • En el paquete wire, que implementa el protocolo «wire» (protocolo para la interacción con MongoDB), se ha añadido la posibilidad de verificar documentos. La versión mínima soportada del protocolo wire se ha reducido a 13, lo que corresponde a MongoDB 5.0.

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster