Todos os produtos
Search
Central de documentação

ApsaraDB for MongoDB:Overview of new features in MongoDB 7.0

Última atualização: Jun 26, 2026

O MongoDB 7.0 torna vários recursos de prévia geralmente disponíveis e introduz novas funcionalidades para sharding, criptografia e agregação. Esta página apresenta os principais destaques para usuários do ApsaraDB for MongoDB.

Para consultar o changelog completo da versão upstream, acesse Release Notes for MongoDB 7.0.

Novidades em resumo

Categoria

Recurso ou alteração

Novos recursos

Queryable Encryption (GA)

Verificação de consistência de metadados de shard (checkMetadataConsistency)

Análise de chave de shard (analyzeShardKey)

AutoMerger

Sharding

Parâmetro rangeDeleterHighPriority; métricas de resharding; atualizações na política do balancer

Segurança

Key Management Interoperability Protocol (KMIP) V1.0 e V1.1; OpenSSL 3.0 e OpenSSL FIPS

Agregação

Operadores bit a bit; $median; $percentile

Séries temporais

Restrições de DELETE flexibilizadas; suporte a COMPACT

Outros

Índices wildcard compostos; $changeStreamSplitLargeEvent; melhorias de desempenho no Slot-Based Execution (SBE)

Queryable Encryption

A Queryable Encryption, disponível como prévia no MongoDB 6.0, agora tem disponibilidade geral no MongoDB 7.0.

Para obter detalhes sobre a implementação, consulte Queryable Encryption.

Verificação de consistência de metadados de shard

Inconsistências de metadados entre shards podem causar erros sutis de roteamento difíceis de diagnosticar posteriormente. O comando checkMetadataConsistency, adicionado no MongoDB 7.0, permite detectar proativamente essas inconsistências antes que afetem o tráfego de produção.

Execute o comando no nível do banco de dados:

// Check metadata consistency for the current database
db.runCommand({
  checkMetadataConsistency: 1,
  checkIndexes: true
})

Use também os helpers do mongosh para verificar em diferentes escopos:

// Check the current database
db.checkMetadataConsistency()

// Check a specific collection
db.collection.checkMetadataConsistency()

// Check all databases in the sharded cluster
sh.checkMetadataConsistency()

Inclua esta verificação em sua rotina de operações e manutenção (O&M) para identificar inconsistências antecipadamente. Para a referência completa do comando, consulte checkMetadataConsistency.

Análise de chave de shard (analyzeShardKey)

Escolher uma chave de shard inadequada resulta em hotspots, distribuição desigual de dados e degradação no desempenho de consultas. Corrigir esses problemas após o sharding da coleção é custoso. O comando analyzeShardKey avalia uma chave candidata com base em consultas reais amostradas e permite tomar uma decisão fundamentada antes da implementação definitiva.

db.adminCommand({
  analyzeShardKey: "<db>.<collection>",
  key: <shardKey>,
  keyCharacteristics: <bool>,
  readWriteDistribution: <bool>,
  sampleRate: <double>,
  sampleSize: <int>
})

Parâmetro

Descrição

analyzeShardKey

Namespace da coleção a ser analisada, no formato <db>.<collection>.

key

Chave de shard candidata para avaliação.

keyCharacteristics

Se definido como true, relata a cardinalidade e a distribuição de frequência da chave de shard.

readWriteDistribution

Quando true, informa como as leituras e gravações se distribuem entre os shards.

sampleRate

Fração de documentos a serem amostrados, representada por um valor entre 0 e 1.

sampleSize

Quantidade total de documentos para amostragem.

Este comando não bloqueia leituras ou gravações na coleção. Para minimizar o impacto nas cargas de trabalho de produção, use a preferência de leitura secondary ou secondaryPreferred. Em um cluster com sharding, o mongos define automaticamente a preferência de leitura como secondaryPreferred.

Para configurar a amostragem de consultas antes de executar a análise, consulte configureQueryAnalyzer. Para a referência completa do comando, acesse analyzeShardKey.

AutoMerger

À medida que um cluster com sharding evolui — por meio de migração de dados, exclusões de intervalos e gravações contínuas — o número de chunks pode crescer além do necessário. Isso causa distribuição desigual de dados e lentidão no balancer. O AutoMerger, introduzido no MongoDB 7.0, resolve esse problema ao mesclar chunks automaticamente quando há desequilíbrio na distribuição de dados ou índices, excesso de chunks ou durante migrações de dados.

O AutoMerger vem ativado por padrão no MongoDB 7.0. O comando configureCollectionBalancing, presente em versões anteriores para definir configurações do balancer em coleções com sharding, também oferece suporte ao AutoMerger:

db.adminCommand({
  configureCollectionBalancing: "<db>.<collection>",
  chunkSize: <num>,
  defragmentCollection: <bool>,
  enableAutoMerger: <bool>
})

Para acionar manualmente a mesclagem de todos os chunks mescláveis em um shard específico, execute:

db.adminCommand({ mergeAllChunksOnShard: "db.coll", shard: "Shard0" })

Otimizações de sharding

Além do AutoMerger, o MongoDB 7.0 traz as seguintes alterações relacionadas a sharding:

  • Parâmetro rangeDeleterHighPriority: Determina se a exclusão de documentos órfãos tem prioridade sobre as operações de exclusão da aplicação. O valor padrão é false, o que significa que as operações da aplicação têm precedência.

  • Remoção de operationsBlockedByRefresh: O documento operationsBlockedByRefresh foi removido do serverStatus. Os contadores incrementavam nos nós mongos para cada operação que usava informações de roteamento de coleção, mesmo sem atualização do cache de catálogo, tornando as métricas enganosas.

  • Métricas de resharding: Novas métricas de monitoramento foram adicionadas para operações de resharding.

  • Comando addShard: A opção maxSize deixou de ser suportada.

  • Validação de tamanho de chunk: Ao ajustar o tamanho do chunk na coleção config.settings, o MongoDB agora valida se o valor está dentro do intervalo suportado, de 1 a 1.024.

  • Atualizações na política do balancer (a partir do MongoDB 6.0.3): O balancer passou a distribuir dados com base no volume, e não mais na contagem de chunks. O particionamento ocorre por intervalo em vez de por chunk, e a divisão automática acontece apenas durante a migração de dados entre shards.

Segurança

  • Suporte a KMIP: As versões V1.0 e V1.1 do Key Management Interoperability Protocol (KMIP) agora são suportadas para gerenciamento externo de chaves.

  • OpenSSL: O MongoDB 7.0 agora suporta OpenSSL 3.0 e OpenSSL FIPS.

Agregação

O MongoDB 7.0 adiciona seis novos operadores de agregação.

Operadores bit a bit

Quatro operadores executam aritmética bit a bit em valores int e long:

Operador

Descrição

$bitAnd

AND bit a bit

$bitNot

NOT bit a bit (inversão bit a bit)

$bitOr

OR bit a bit

$bitXor

XOR bit a bit

Operadores de percentil

Dois operadores calculam percentis estatísticos em valores agrupados:

Operador

Descrição

$median

Retorna o 50º percentil (mediana aproximada).

$percentile

Retorna um percentil especificado.

Exemplo — cálculo da mediana e do 90º percentil por categoria:

db.sales.aggregate([
  {
    $group: {
      _id: "$category",
      medianRevenue: { $median: { input: "$revenue", method: "approximate" } },
      p90Revenue: { $percentile: { input: "$revenue", p: [0.90], method: "approximate" } }
    }
  }
])

Coleções de séries temporais

  • Restrições de DELETE flexibilizadas: Use o comando DELETE em coleções de séries temporais sem a maioria das restrições aplicáveis em versões anteriores. A única limitação restante é que DELETE não pode ser executado dentro de uma transação multidocumento.

  • Suporte a COMPACT: O comando COMPACT agora funciona com coleções de séries temporais.

Outras alterações

  • Campos no log de consultas lentas: Novos campos, incluindo catalogCacheIndexLookupDurationMillis, foram adicionados às entradas de log de consultas lentas. Consulte Logging slow operations.

  • Concorrência automática do mecanismo de armazenamento: O MongoDB ajusta automaticamente a concorrência de transações do mecanismo WiredTiger. Antes do ajuste automático, o valor padrão era de 128 tickets. Veja Concurrent storage engine transactions (read and write tickets).

  • Métricas de amostragem de consultas em currentOp: Campos relacionados à amostragem de consultas agora constam na saída do currentOp. Acesse currentOp metrics.

  • Índices wildcard compostos: O MongoDB 7.0 suporta índices wildcard compostos, que combinam um campo wildcard com um ou mais campos padrão. Saiba mais em Compound wildcard indexes.

  • Operador $changeStreamSplitLargeEvent: Divide eventos de change stream que excedem o limite de 16 MB para documentos BSON em múltiplos eventos menores. Detalhes em Large change stream events.

  • Melhorias no motor Slot-Based Execution (SBE): O mecanismo de execução de consultas SBE recebeu otimizações para melhorar o desempenho das consultas.

  • Métricas de migração de chunks: Novas estatísticas de sharding para migrações de chunks foram incluídas. Confira em New sharding statistics for chunk migrations.

  • Variável de sistema USER_ROLES: Retorna as funções atribuídas ao usuário atual.

  • Novos parâmetros globais: Foram adicionados parâmetros para analyzeShardKey, balancer e queryAnalyzers.

  • Alterações na saída do serverStatus: Campos adicionais foram incorporados à saída do serverStatus. Consulte serverStatus output change.