Lançamento do FerretDB 0.7, implementação do MongoDB baseada no SGBD PostgreSQL

Foi lançado o projeto FerretDB 0.7, permitindo substituir o banco de dados orientado a documentos MongoDB pelo PostgreSQL sem alterações no código das aplicações. O FerretDB é implementado como um servidor proxy, traduzindo chamadas para MongoDB em consultas SQL para PostgreSQL, permitindo usar o PostgreSQL como o armazenamento real. O código é escrito na linguagem Go e distribuído sob a licença Apache 2.0.

A necessidade de migração pode surgir devido à transição do MongoDB para uma licença não livre, SSPL, que se baseia na licença AGPLv3, mas não é aberta, pois contém uma exigência discriminatória de fornecimento sob a licença SSPL não apenas do código do próprio aplicativo, mas também dos textos-fonte de todos os componentes envolvidos na prestação do serviço em nuvem.

O principal público-alvo do FerretDB são os usuários que não utilizam em seus aplicativos as funcionalidades avançadas do MongoDB, mas desejam usar uma pilha de software completamente aberta. Neste estágio de desenvolvimento, o FerretDB suporta apenas parte das funcionalidades do MongoDB mais comumente usadas em aplicativos típicos. No futuro, planejam alcançar a plena compatibilidade com os drivers do MongoDB e oferecer a possibilidade de usar o FerretDB como uma substituição transparente do MongoDB.

O MongoDB ocupa um nicho entre sistemas rápidos e escaláveis que operam dados em formato chave/valor e SGBDs relacionais, funcionais e convenientes para formar consultas. O MongoDB suporta o armazenamento de documentos em formato semelhante ao JSON, possui uma linguagem bastante flexível para formar consultas, pode criar índices para vários atributos armazenados, garante efetivamente o armazenamento de grandes objetos binários, suporta o registro de operações de alteração e adição de dados no BD, pode operar de acordo com a paradigma Map/Reduce e suporta replicação e construção de configurações tolerantes a falhas.

As mudanças no FerretDB 0.7 incluem:

  • Implementada a comando de diagnóstico msg_explain, necessária para a plataforma Tigris.
  • A equipe listCollections agora suporta filtros (opção 'filter').
  • O uso do símbolo '-' é permitido nos nomes de bancos de dados.
  • Aumentado o número de parâmetros suportados no comando find.
  • No pacote wire, que implementa o protocolo 'wire' (protocolo para interação com MongoDB), foi adicionada a capacidade de verificação de documentos. A versão mínima do protocolo wire foi reduzida para 13, correspondente ao MongoDB 5.0.

Fonte: opennet.ru

Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS 🔥 Compre hospedagem confiável para sites com proteção contra DDoS, servidores VPS VDS | ProHoster