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 reIndex.
Manutenção do índice 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 a utilização de vários trabalhadores. O índice antigo pode ser usado por consultas quando o processo de reindexação está em execução.
O Amazon DocumentDB oferece suporte à indexação de relatórios de progresso por meio do CurrentOp. Você pode ver os estágios de construção do índice semelhantes aos estágios de construçã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 único 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 comandos 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.
Construção de reindexação
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, consulteGerenciamento de índices no Amazon DocumentDB com Java.