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á.
Gerenciamento da compactação de documentos a nível de coleção
A compactação de documentos a nível de coleção do Amazon DocumentDB permite que você reduza os custos de armazenamento e E/S ao compactar os documentos em suas coleções. É possível ativar a compactação de documentos a um nível de coleção e visualizar as métricas de compactação conforme necessário, medindo os ganhos de armazenamento por meio de métricas de compactação, como tamanho de armazenamento de documentos compactados e status de compactação. O Amazon DocumentDB usa o algoritmo de compactação LZ4 para compactar documentos.
O Amazon DocumentDB oferece suporte à compactação de documentos a partir da versão 5.0. A seguir estão as funções de compactação de documentos em nível de coleção:
Comportamento padrão: a configuração de compactação padrão para novas coleções em um cluster é determinada pelo parâmetro de cluster
default_collection_compression
. Esse parâmetro é definido como “desativado” por padrão.Compactação de coleções existentes: a configuração de compactação de coleções existentes pode ser alterada usando o comando
collMod
.Alteração do limite de compactação: o limite de compactação padrão é de 2 KB. Esse valor pode ser especificado para novas coleções usando o comando
createCollection
e alterado para coleções existentes usando o comandocollMod
.
nota
A compactação de documentos do Amazon DocumentDB não é suportada nas versões 3.6 e 4.0 do Amazon DocumentDB.
Gerenciamento da compactação de documentos
Ativar a compactação de documentos em uma coleção
Ative a compactação de documentos ao criar uma coleção no Amazon DocumentDB usando o método db.createCollection()
:
db.createCollection( sample_collection,{ storageEngine : { documentDB: { compression:{enable: <true | false>} } } })
Ativar a compactação de documentos em um cluster
A compactação de documentos pode ser ativada por padrão para todas as novas coleções em um nível de cluster definindo o parâmetro de cluster default_collection_compression
como “ativado”. Quando esse parâmetro é definido como “ativado”, as coleções recém-criadas no cluster terão a compactação ativada por padrão com um limite de compactação de 2 KB.
Compactar coleções existentes
Você também pode modificar as configurações de compactação de uma coleção existente usando a operação collMod
e especificando a configuração storageEngine
a seguir. Observe que a alteração feita usando esse comando se aplicará somente a documentos recém-inseridos/atualizados e a compactação em documentos inseridos anteriormente não será alterada.
db.runCommand({ collMod: "orders", storageEngine: { documentDB: {compression: {enable: <true | false>} } } })
Definir os limites de compactação
Por padrão, o limite de compactação para coleções compactadas é de 2032 bytes. Esse valor limite pode ser definido no comando createCollection
ao criar uma nova coleção com a compactação ativada:
db.createCollection( sample_collection, { storageEngine : { documentDB: { compression: { enable: true, threshold: <128 - 8000> } } } })
Você também pode modificar o limite de compactação de uma coleção compactada existente usando a operação collMod
e especificando a seguinte configuração storageEngine
:
db.runCommand({ collMod: "orders", storageEngine: { documentDB: { compression: { enable: true, threshold: <128 - 8000> } } } })
Observe que o limite de compactação só pode ser definido com um valor entre 128 e 8000 bytes. Além disso, a opção enable
precisa ser definida como “verdadeira” ao especificar o limite de compactação.
Monitoramento da compactação de documentos
É possível verificar se uma coleção está compactada e calcular sua taxa de compactação da seguinte maneira.
Visualize as estatísticas de compressão executando o comando db.printCollectionStats()
ou db.collection.stats()
no shell do mongo. A saída mostra o tamanho original e o tamanho compactado, que é possível comparar para analisar os ganhos de armazenamento da compactação de documentos. Neste exemplo, são mostradas as estatísticas de uma coleção chamada “sample_collection”: Um fator de escala de 1024*1024 é usado abaixo para gerar os valores size
e storageSize
em MB.
db.sample_collection.stats(1024*1024)
Veja a seguir um exemplo de saída do comando acima:
{
"ns" : "test.sample_collection",
"count" : 1000000,
"size" : 3906.3,
"avgObjSize" : 4096,
"storageSize" : 1953.1,
compression:{"enabled" : true,"threshold" : 2032},
...
}
tamanho - O tamanho original da coleção de documentos.
avgoBjSize - O tamanho médio dos documentos antes da compactação arredondado para a primeira casa decimal. A unidade de medida é bytes.
StorageSize - O tamanho de armazenamento da coleção após a compactação. A unidade de medida é bytes.
habilitada - Indica se a compactação está habilitada ou desabilitada.
Para calcular a taxa de compressão real, divida o tamanho da coleção pelo tamanho do armazenamento (tamanho/StorageSize). Para o exemplo acima, o cálculo é 3906,3/1953.1, o que se traduz em uma taxa de compressão de 2:1.