DBMS orientado a documentos MongoDB 5.0 disponível

É apresentado o lançamento do SGBD MongoDB 5.0 orientado a documentos, que ocupa um nicho entre sistemas rápidos e escaláveis, que operam dados no formato chave/valor, e SGBDs relacionais, funcionais e fáceis de formular consultas. O código MongoDB é escrito em C++ e distribuído sob a licença SSPL, que é baseada na licença AGPLv3, mas não é aberta, pois contém um requisito discriminatório para entregar sob a licença SSPL não apenas o código da aplicação em si, mas também o código-fonte código de todos os componentes envolvidos na prestação do serviço em nuvem.

MongoDB suporta o armazenamento de documentos em um formato semelhante ao JSON, possui uma linguagem bastante flexível para gerar consultas, pode criar índices para vários atributos armazenados, fornece armazenamento eficiente de grandes objetos binários, suporta registro de operações para alterar e adicionar dados ao banco de dados, pode trabalha de acordo com o paradigma Map/Reduce, suporta replicação e construção de configurações tolerantes a falhas.

O MongoDB possui ferramentas integradas para fornecer sharding (distribuição de um conjunto de dados entre servidores com base em uma chave específica), em combinação com replicação, permitindo construir um cluster de armazenamento horizontalmente escalável no qual não há um único ponto de falha (a falha de qualquer nó não afeta a operação do banco de dados), recuperação automática após uma falha e transferência de carga de um nó com falha. A expansão de um cluster ou a conversão de um servidor em um cluster é feita sem parar o banco de dados, simplesmente adicionando novas máquinas.

Características do novo lançamento:

  • Adicionadas coleções de dados na forma de séries temporais (coleções de séries temporais), otimizadas para armazenar fatias de valores de parâmetros registrados em determinados intervalos (tempo e um conjunto de valores correspondentes a esse tempo). A necessidade de armazenar tais dados surge em sistemas de monitoramento, plataformas financeiras e sistemas para sondar estados de sensores. O trabalho com dados de série temporal é realizado como nas coleções de documentos comuns, mas os índices e o método de armazenamento para eles são otimizados levando em consideração a referência de tempo, o que pode reduzir significativamente o consumo de espaço em disco, reduzir atrasos na execução de consultas e permitir dados em tempo real análise.

    O MongoDB trata essas coleções como visualizações não materializadas e graváveis, construídas em coleções internas que, quando inseridas, agrupam automaticamente dados de séries temporais em um formato de armazenamento otimizado. Neste caso, cada registro baseado no tempo é tratado como um documento separado quando solicitado. Os dados são ordenados e indexados automaticamente por tempo (não há necessidade de criar índices de tempo explicitamente).

  • Adicionado suporte para operadores de janela (funções analíticas) que permitem realizar ações com um conjunto específico de documentos da coleção. Ao contrário das funções agregadas, as funções de janela não recolhem o conjunto agrupado, mas sim agregam com base no conteúdo de uma “janela” que inclui um ou mais documentos do conjunto de resultados. Para manipular um subconjunto de documentos, é proposta uma nova etapa $setWindowFields, com a qual você pode, por exemplo, determinar as diferenças entre dois documentos em uma coleção, calcular classificações de vendas e analisar informações em séries temporais complexas.
  • Adicionado suporte para controle de versão de API, que permite vincular um aplicativo a um estado específico de API e eliminar os riscos associados a uma possível violação de compatibilidade com versões anteriores ao migrar para novas versões de DBMS. O versionamento da API separa o ciclo de vida da aplicação do ciclo de vida do SGBD e permite que os desenvolvedores façam alterações na aplicação quando há necessidade de utilizar novos recursos, e não ao migrar para uma nova versão do SGBD.
  • Adicionado suporte para o mecanismo Live Resharding, que permite alterar dinamicamente as chaves de shard usadas para segmentação sem interromper o DBMS.
  • As possibilidades de criptografia de campos no lado do cliente foram ampliadas (criptografia em nível de campo do lado do cliente). Agora é possível reconfigurar filtros de auditoria e alternar certificados x509 sem parar o DBMS. Adicionado suporte para configuração do conjunto de criptografia para TLS 1.3.
  • É proposto um novo shell de linha de comando, MongoDB Shell (mongosh), que está sendo desenvolvido como um projeto separado, escrito em JavaScript usando a plataforma Node.js e distribuído sob a licença Apache 2.0. O MongoDB Shell possibilita conectar-se ao SGBD, alterar configurações e enviar consultas. Suporta preenchimento automático inteligente para inserir métodos, comandos e expressões MQL, destaque de sintaxe, ajuda contextual, análise de mensagens de erro e capacidade de expandir a funcionalidade por meio de complementos. O antigo wrapper CLI "mongo" foi descontinuado e será removido em uma versão futura.
    DBMS orientado a documentos MongoDB 5.0 disponível
  • Novos operadores foram adicionados: $count, $dateAdd, $dateDiff, $dateSubtract, $sampleRate e $rand.
  • Garante que os índices sejam usados ​​ao usar os operadores $eq, $lt, $lte, $gt e $gte na expressão $expr.
  • Os comandos agregado, find, findAndModify, update, delete e os métodos db.collection.gregate(), db.collection.findAndModify(), db.collection.update() e db.collection.remove() agora suportam o “let ”Opção para definir uma lista de variáveis ​​que tornam os comandos mais legíveis, separando as variáveis ​​do corpo da solicitação.
  • As operações localizar, contar, distinguir, agregar, mapReduce, listCollections e listIndexes não serão mais bloqueadas se uma operação que usa um bloqueio exclusivo em uma coleção de documentos estiver sendo executada em paralelo.
  • Como parte de uma iniciativa para remover termos politicamente incorretos, o comando isMaster e o método db.isMaster() foram renomeados como hello e db.hello().
  • O esquema de numeração de lançamento foi alterado e foi feita uma transição para um cronograma de lançamento previsível. Uma vez por ano haverá um lançamento significativo (5.0, 6.0, 7.0), a cada três meses lançamentos intermediários com novos recursos (5.1, 5.2, 5.3) e, conforme necessário, atualizações corretivas com correções de bugs e vulnerabilidades (5.1.1, 5.1.2 .5.1.3, 5.1). As versões provisórias criarão funcionalidades para a próxima versão principal, ou seja, MongoDB 5.2, 5.3 e 6.0 fornecerão novos recursos para o lançamento do MongoDB XNUMX.

Fonte: opennet.ru

Adicionar um comentário