Esta página descreve as alterações e as novas funcionalidades introduzidas no MongoDB 8.2.
O MongoDB 8.2 é uma versão menor, o que significa que ele recebe suporte tanto para o MongoDB Atlas quanto para sistemas on-premises. O MongoDB 8.2 introduz melhorias incrementais dentro de um ciclo de lançamento de versão principal. O MongoDB 8.2 também inclui alterações introduzidas no MongoDB 8.1. Esta página descreve as alterações introduzidas na versão menor e no MongoDB 8.2.
Para saber mais sobre as diferenças entre as versões principais e secundárias, consulte Versões do MongoDB.
Importante
MongoDB 8.2 é a versão menor mais recente. A partir do MongoDB 8.2, versões secundárias estão disponíveis para sistemas locais (MongoDB Community e Enterprise) para casos de uso específicos. Para obter mais informações, consulte a seção Versões do MongoDB.
Para instalar a versão mais recente do MongoDB compatível com uso local, consulte as instruções de instalação.
Importante
mongosync
não é suportado no MongoDB 8.2.
Lançamentos de patches
8.2.1 - Em breve
Problemas corrigidos:
SERVIDOR-:94681 mover a amostragem para a thread do mantenedor do cap do oplog
SERVER-:106469 iniciar mongocryptd falha na compilação mais recente, janelas.
SERVIDOR-:109626 ajustar o comportamento para emitir campos adicionais em change streams
SERVER-:110250 use a sessão existente ao descartar o derramamento WT ident
WT-:15225 Corrige a tabela recém-criada e o problema do drop() EBUSY
Fragmentação
Parâmetro TerminarSecondaryReadsOnOrphanCleanup
O MongoDB 8.2 adiciona o parâmetro terminateSecondaryReadsOnOrphanCleanup
, que controla se as operações de leitura de longa duração em nós secundários terminam automaticamente antes da exclusão do documento órfão após uma migração de chunk.
Por padrão, este parâmetro é definido como true
. Se uma operação de leitura em um nó secundário começar antes das confirmações de migração de chunk, o MongoDB encerrará automaticamente a operação antes de excluir os documentos órfãos. Nas versões do MongoDB anteriores a 8.2, essas operações continuam sendo executadas após a exclusão de documento órfão e podem perder documentos silenciosamente sem retornar um erro.
Para suportar este novo comportamento, o valor padrão para orphanCleanupDelaySecs
é agora 3600
(anteriormente 900
).
Alterações gerais
Construções dos índices durante a initial sync
A partir do MongoDB 8.2, as compilações de índice durante a sincronização inicial usam 10% da RAM disponível por padrão. Você pode especificar uma porcentagem diferente de memória para o MongoDB usar com o parâmetro initialSyncIndexBuildMemoryPercentage
.
Por padrão, a quantidade de memória disponível deve estar entre 200 MB e 16 GB, inclusive. Use os seguintes parâmetros para especificar diferentes limites mínimos e máximos para uso de memória:
Estatísticas da query
A partir do MongoDB 8.2, o resultado$queryStats
inclui as seguintes métricas em ticketsinadimplentes:
metrics.delinquentAcquisitions
metrics.totalAcquisitionDelinquencyMillis
metrics.maxAcquisitionDelinquencyMillis
O MongoDB considera um tíquete de execução inadimplente quando a aquisição leva muito tempo.
Configuração do tamanho do cache do WiredTiger como porcentagem
A partir do MongoDB 8.2, você pode configurar o tamanho do cache interno do WiredTiger usando uma nova opção baseada em porcentagem. Além das configurações existentes baseadas em gigabytes --wiredTigerCacheSizeGB
e storage.wiredTiger.engineConfig.cacheSizeGB
, agora você pode especificar o tamanho do cache como uma porcentagem da memória disponível com as opções --wiredTigerCacheSizePct
e storage.wiredTiger.engineConfig.cacheSizePct
.
Novo tipo de inconsistência: exclusão de intervalo índice de chave de fragmento ausente
A partir do MonogDB 8.2, um novo tipo de inconsistência RangeDeletionMissingShardKeyIndex
é implementado. O tipo de inconsistência indica que existe uma coleção fragmentada que não tem um índice compatível com a chave de shard da coleção e que há pelo menos uma tarefa de exclusão de intervalo restante para concluir.
Nova expressão de aggregation
A partir do MongoDB 8.2, você pode usar $currentDate
com aggregate()
para retornar a hora atual no servidor.
Novo campo $currentOp
O estágio de agregação $currentOp
agora inclui o campo versionContext
, que fornece informações sobre a feature compatibility version (FCV) da operação.
Alteração de saída doserverStatus
serverStatus
inclui os seguintes novos campos em sua saída:
Explicar a saída para estágios de derramamento de disco
A partir do MongoDB 8.2, os Resultados Explicativos dos estágios que são transferidos para o disco agora incluem métricas padronizadas em nomes de campo consistentes. Esta atualização fornece uma maneira mais unificada de acompanhar o uso do disco para operações de uso intensivo de memória.
Os novos campos incluem:
Campo Modo de Reparo no Resultado da Validação
A partir do MongoDB 8.2, o comando validate
e o método assistente db.collection.validate()
retornam um novo campo repairMode
que indica quais tipos de inconsistências de dados o comando validate
tentou reparar, se detectado.
Suporte para compressão rápida zstd
A partir do MongoDB 8.2, A configuração storage.wiredTiger.engineConfig.zstdCompressionLevel
suporta valores negativos para compressão zstd rápida. Valores negativos fornecem velocidades de compressão e descompressão mais rápidas ao custo da taxa de compressão. O novo intervalo suportado é -7 a 22.
Leituras espelhadas direcionadas
A partir do MongoDB 8.2, você pode espelhar seletivamente as operações de leitura para servidores específicos que precisam de seus caches aquecimentos marcando os nós para espelhamento de leitura. Ao contrário das leituras espelhadas gerais, o espelhamento de leitura direcionada permite direcionar nós ocultos e espelhar a partir de nós primários e secundários.
Você pode configurar leituras espelhadas direcionadas utilizando o campo targetedMirroring
no parâmetro mirrorReads
.
Estabelecimento de conexão de entrada de limite de taxa
A partir do MongoDB 8.2, você pode ativar a limitação de taxa para conexões de entrada para preservar os recursos da CPU durante a sobrecarga. Quando ativado, você pode ver quando a taxa de conexões de entrada excede a taxa de estabelecimento de conexão especificada e configurar os parâmetros para especificar como o sistema do MongoDB lida com o excesso de conexões.
Você pode configurar a limitação de taxa usando os seguintes novos campos:
Segurança
Visualização pública da query de prefixo, sufixo e substring do Queryable Encryption
Aviso
As queries de prefixo, sufixo e substring estão em visualização pública
As queries de prefixo, sufixo e substring do Queryable Encryption estão disponíveis em visualização pública no MongoDB 8.2. Não habilite esses tipos de query em produção. A funcionalidade de visualização pública será incompatível com o recurso GA, e você terá que descartar todas as collections que habilitarem essas queries.
O MongoDB 8.2 permite ativar queries de prefixo, sufixo e substring em campos de string criptografados em collections habilitadas para Queryable Encryption . Para obter detalhes, consulte habilitar queries de substring e Expressões de agregação suportadas.
Problemas conhecidos
Esta seção descreve problemas conhecidos no MongoDB 8.2 e seu status de resolução.
Na versão | Emitir | Status |
---|---|---|
8.2.0 | SERVIDOR-106469: os processos You can avoid the .NET/C# Driver mongocryptd issue in the following ways:
| Estamos direcionando uma correção para esse problema no MongoDB 8.2.1. |
8.2.0 | SERVIDOR-109626: v8.2.0 introduz algumas regressões de desempenho de fluxo de mudança. Os aplicativos que dependem de change streams para o processamento de dados em tempo real podem sofrer uma degradação de desempenho de até 15% em comparação com a versão8.0. | Estamos direcionando uma correção para esse problema no MongoDB 8.2.1. |
8.2.0 | SERVER-110250: os usuários que executam operações de memória intensiva que exigem transferência de disco podem sofrer falhas no servidor se o número de consultas com transferência ativa exceder | Estamos direcionando uma correção para esse problema no MongoDB 8.2.1. |
Alterações introduzidas no MongoDB 8.1
A seção a seguir descreve as alterações e as novas funcionalidades introduzidas no MongoDB 8.1.
Adicionar comentários às configurações da query
A partir do MongoDB 8.1 (e 8.0.4), você pode usar setQuerySettings
para adicionar comentários às configurações da query. Por exemplo, adicione um comentário que indique por que você adicionou configurações de query.
Acumuladores de agregação
A partir do MongoDB 8.1, os seguintes acumuladores de agregação estão disponíveis:
Estágios de aggregation
A partir do MongoDB 8.1, os seguintes estágios de agregação estão disponíveis:
Melhorias no registro de auditoria
A partir do MongoDB 8.1, se um aplicação cliente se conectar a uma instância mongod
ou mongos
por meio de um balanceador de carga, os endereços IP e portas do computador cliente de origem e do balanceador de carga serão incluídos no registro de auditar . Você pode usar o registro para combinar um evento de auditar com o computador cliente de origem.
Para obter detalhes, consulte Mensagens de auditoria do esquema OCSF e Mensagens de auditoria do esquema mongo.
connectionStatus
UUID de conexão
A partir do MongoDB 8.1, você pode acessar o UUID do cliente conectado atualmente por meio de connectionStatus.authInfo.UUID
.
Espaço em disco
A partir do MongoDB 8.1 (e 8.0.5), se o espaço em disco estiver baixo, o MongoDB falhará nas queries que estiverem sendo despejadas no disco.
$geoNear Melhorias
A partir do MongoDB 8.1, algumas queries$geoNear
que anteriormente falhavam com índices 2d ou 2dsphere ocultos agora serão bem-sucedidas. Em versões anteriores, algumas queries $geoNear
costumavam falhar desnecessariamente com um erro IndexNotFound
quando incluíam um índice oculto devido à confusão sobre qual índice usar.
Precisão aprimorada para métrica de duração da operação
A partir do MongoDB 8.1, a métrica durationMillis
relatada em registros de queries lentas contabiliza o tempo gasto no processamento de autorização e na análise do comando. Como resultado, durationMillis
reflete mais de perto a duração total do comando.
Tipos de inconsistência
A partir do MongoDB 8.1, os seguintes tipos de inconsistência estão disponíveis:
$lookup
Suporte para coleções criptografadas
A partir do MongoDB 8.1, você pode fazer referência a várias coleções criptografadas em um estágio $lookup
.
Para saber mais, consulte:
$merge Campos ausentes
A partir do MongoDB 8.1, se o $merge
índice de suporte do estágio de agregação não for esparso, os campos especificados para a opção on poderão estar ausentes ou conter um valor nulo.
Estatísticas da query
A partir do MongoDB 8.1, as estatísticas de query são coletadas e relatadas para comandos count
e distinct
. Para obter detalhes, consulte contagem de Forma de query de comando e Forma de query de comando distinta.
Parâmetros do servidor MongoDB
A partir do MongoDB 8.1, os seguintes parâmetros do servidor estão disponíveis:
AbortExpiredTransactionsSessionCheckoutTimeout
(Também disponível em 8.0.13)catalogCacheIndexMaxEntries
serverStatus
Métricas
A partir do MongoDB 8.1 (e 8.0.4 7.0.14e), a seção indexStats
serverStatus
da saída de comando acompanha os índices prepareUnique
no estado.
O MongoDB 8.1 adiciona as seguintes métricas de status do servidor :
maxTimestampEligibleForTruncate
EmchangeStreamPreImages.purgingJob
metrics.abortExpiredTransactions.successfulKills
(Também disponível em 8.0.13)metrics.abortExpiredTransactions.timedOutKills
(Também disponível em 8.0.13)
Métricas de query lenta para derramamento de disco
A partir do MongoDB 8.1, as mensagens de registro para queries lentas conterão novas métricas se a execução da query gravar arquivos temporários no disco. Essas métricas são prefixadas pelo estágio de execução da query que fez com que a query excedesse o limite de memória. Por exemplo, sortSpills
indica o número de vezes que o estágio de classificação da execução da query gravou arquivos temporários no disco.
Métrica | Descrição |
---|---|
| Número de vezes que o estágio de execução da query correspondente gravou arquivos temporários no disco |
| Tamanho, em bytes, da memória liberada ao escrever arquivos temporários no disco |
| Tamanho, em bytes, do espaço em disco usado para arquivos temporários |
| Número de registros gravados em arquivos temporários no disco |
Para mais informações sobre escrever arquivos temporários no disco, consulte allowDiskUse()
.
Stable API
A partir do MongoDB 8.1, o comando renameCollection
e o método de shell correspondente, db.collection.renameCollection()
, estão incluídos na API estável V1.
Suporte para estágios de pesquisa em Explicar resultados
A partir do MongoDB 8.1, os resultados da explicação incluem estatísticas de execução para os estágios $search
, $searchMeta
e $vectorSearch
.
Para saber mais, consulte:
Suporte para comandos de índice de pesquisa em visualizações
A partir do MongoDB,8.1 você pode createSearchIndexes
executar,, updateSearchIndex
dropSearchIndex
e para criar, modificar, eliminar e listar índices do $listSearchIndexes
Atlas Search e índices do Atlas Vector Search em exibições padrão compatíveis que contêm apenas os seguintes estágios:
$match
encerrando uma operação$expr
Você pode executar pipelines de agregação que contenham os estágios $search
e $searchMeta
em exibições que usam um índice de pesquisa. Você também pode executar agregação pipelines que contêm um estágio $vectorSearch
em visualizações que contêm um índice de pesquisa vetorial.
Validar saída de especificações do índice de comando
Iniciando no MongoDB 8.1, o comando validate
inclui especificações de índice no campo de saída validate.indexDetails
.
Ação de validação para lidar com documentos inválidos
A partir do MongoDB 8.1, você pode definir a opção validationAction
do seu esquema como errorAndLog
, na qual o MongoDB rejeita qualquer inserção ou atualização que viole os critérios de validação e registra o erro no arquivo de log mongod
.
Para obter mais informações, consulte Escolher como lidar com documentos inválidos.
Procedimentos de atualização
Importante
Versão de compatibilidade de recursos
Para atualizar para o MongoDB 8.2 a partir de uma implantação do 8.0 , a implantação do 8.0 deve ter featureCompatibilityVersion
configurado como 8.0
. Para verificar a versão:
db.adminCommand( { getParameter: 1, featureCompatibilityVersion: 1 } )
Para atualizar para o MongoDB 8.2, consulte as instruções de atualização específicas para o MongoDB deployment:
Se você precisar de orientação para atualizar para 8.2, os serviços profissionais do MongoDB oferecem suporte para ajudar a garantir uma transição tranquila, sem interrupção para seu aplicação MongoDB . Para saber mais, acesse Consultoria do MongoDB.
Download
Para baixar o MongoDB 8.2, acesse a Central de downloads do MongoDB.
Considerações de downgrade
Somente downgrades de versão única são suportados
O MongoDB suporta apenas downgrades de versão única. Você não pode fazer o downgrade para uma versão que esteja várias versões atrás da versão atual.
Por exemplo, você pode fazer downgrade de uma série 8.2para uma série 8.0. No entanto, não há suporte para desatualização adicional dessa implantação da série 8.0para uma implantação da série 7.0.
Política de downgrade
Downgrades binários não são permitidos para o MongoDB Community Edition.
Não é possível fazer downgrade do FCV de sua implantação para uma versão secundária do MongoDB.
Se você atualizar ou desatualizar o fCV do seu sistema, não poderá desatualizar sua versão binária do sistema Enterprise sem ajuda do suporte.