Hoje falaremos sobre a nova versão doo MongoDB. O MongoDB é a empresa por trás do popular banco de dados NoSQL orientado a documentos, recentemente o MongoDB lançou a versão 4.4 , com novos recursos e aprimoramentos destinados a reforçar a capacidade do banco de dados e trabalhar de forma confiável em escala.
O MongoDB há muito tempo possui mecanismos para expandir por meio de sharding ou distribuir dados por vários nodes. Os documentos foram associados a um shard ou nó específico por meio de uma chave de shard. Como a chave de fragmento de um documento não pôde ser alterada após a atribuição, todos os documentos permaneceram em um determinado fragmento por toda a vida, o que dificultou o reequilíbrio dos fragmentos à medida que o conteúdo do banco de dados MongoDB evoluía.
Para facilitar o reequilíbrio, o MongoDB 4.4 introduz “chaves de shard refináveis”, que permitem que as chaves de shard dos documentos sejam alteradas para que os documentos possam ser realocados em shards diferentes. Usando chaves de fragmento refináveis, os documentos que pertencem a um determinado fragmento podem ser reunidos conforme os requisitos mudam e os documentos podem ser reequilibrados de forma dinâmica ou programática ao longo do tempo para melhor corresponder aos padrões de acesso em evolução.
Agregações no MongoDB, essencialmente consultas, ganham vários novos recursos no MongoDB 4.4. As uniões permitem que dados de diferentes conjuntos de dados em uma coleção do MongoDB sejam agregados em consultas. Dessa forma, os dados não precisam ser tratados por meio de uma etapa ETL (extrair, transformar e carregar) separada; ele pode ser consolidado no local, no servidor e retornado ao cliente sem a necessidade de várias viagens de ida e volta para obter o conjunto completo de resultados.
Expressões de agregação personalizadas, como o $functionagregador, agora permitem que agregações mais complexas sejam executadas no lado do servidor, novamente para manter o processamento mais próximo dos dados. Essa é essencialmente uma versão dos procedimentos armazenados, algo que há muito tempo aparece nos bancos de dados relacionais convencionais, mas aparece no MongoDB pela primeira vez. No entanto, há um impacto no desempenho associado ao uso $function, portanto, é recomendado apenas quando as outras expressões de agregação internas não são suficientes.
Outros novos recursos melhoram a maneira como o MongoDB lida com a leitura de nós e com a satisfação de solicitações. O recurso "leituras com hedge" recebe solicitações de leitura recebidas, as direciona para todos os nós capazes de satisfazer a solicitação e atende à solicitação com a resposta mais rápida. Na mesma linha, são “leituras espelhadas”, onde os caches para réplicas secundárias são pré-carregados sempre que o servidor é reiniciado, para reduzir a latência de preencher esses caches. Espero que tenha gostado desse pequeno post e até próximo :) .