As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Manutenção de índices
Sobrecarga de índices
O Amazon DocumentDB usa o Controle de Multi-Version Concorrência (MVCC) para gerenciar transações simultâneas. Quando os documentos são excluídos ou atualizados, suas versões anteriores permanecem em coleções e índices como versões “inativas”. O processo de coleta de resíduos recupera automaticamente o espaço dessas versões inativas para futuras operações.
A sobrecarga de índices ocorre quando os índices de uma coleção se tornam maiores devido ao acúmulo de entradas de índice inativas ou obsoletas ou à fragmentação nas páginas. O percentual relatado representa a quantidade de espaço de índices que pode ser usada por futuras entradas de índice. Essa sobrecarga consome espaço no cache e no armazenamento do buffer. Se você quiser remover a sobrecarga, precisará reconstruir os índices.
Exemplo: execute o comando a seguir para determinar o armazenamento não utilizado para seu índice:
db.coll.aggregate({$indexStats:{}});
O resultado deve ser semelhante a este:
{ "name" : "_id_", "key" : { "_id" : 1 }, "host" : "devbox-test.localhost.a2z.com:27317", "size" : NumberLong(827392), "accesses" : { "ops" : NumberLong(40000), "docsRead" : NumberLong(46049), "since" : ISODate("2025-04-03T21:44:51.251Z") }, "cacheStats" : { "blksRead" : NumberLong(264), "blksHit" : NumberLong(140190), "hitRatio" : 99.8121 }, "unusedStorageSize" : { "unusedSizeBytes" : 409600, "unusedSizePercent" : 49.51 } }
Você pode reconstruir índices sem tempo de inatividade usando o comando reIndex, que exige uma varredura de toda a coleção. Consulte Manutenção do índice usando o reIndex.
Manutenção de índices usando reIndex
reIndex é um comando usado para reconstruir um índice. Geralmente é usado quando um índice se torna corrompido ou ineficiente. Com o tempo, os índices podem acumular espaço não utilizado devido a muitas atualizações, inserções ou exclusões, levando à degradação do desempenho. A reindexação ajuda a remover esse espaço não utilizado e a restaurar a eficiência do índice.
Diretrizes do ReIndex
O reIndex só é compatível com o Amazon DocumentDB 5.0 e superior
O reIndex sempre é executado em segundo plano.
O Amazon DocumentDB suporta a reindexação de um único índice em segundo plano, permitindo vários trabalhadores. O índice antigo pode ser usado por consultas quando o processo reIndex está em execução.
O Amazon DocumentDB oferece suporte ao relatório de progresso da indexação por meio do CurrentOp. Você pode ver os estágios de criação do índice semelhantes aos estágios de criação do índice visualizados durante a criação do índice. A única diferença é que o ReIndex sempre tem oito estágios, independentemente de ser exclusivo ou não. Não há um estágio de “índice de construção: chaves de classificação 2".
O ReIndex pode ser executado simultaneamente com qualquer comando, exceto os relacionados ao índice na mesma coleção: createIndexes, dropIndexes, CollMod e RenameCollection.
Atualmente, o reIndex não é compatível com índices textuais, geoespaciais, vetoriais e parciais.
Compilação do ReIndex
Use o seguinte comando para recriar seu índice:
db.runCommand({ reIndex: "collection-name", index: "index-name"})
Opcionalmente, você também pode controlar o número de operadores atribuídos ao processo de reconstrução:
db.runCommand({ reIndex: "collection-name", index: "index-name", workers: number })
Para obter informações específicas sobre o gerenciamento de índices com Java, consulte Gerenciamento de índices no Amazon DocumentDB com Java.