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 baseada em dicionário no Amazon DocumentDB 8.0
O Amazon DocumentDB 8.0 apresenta um novo algoritmo de compressão de documentos, o Zstd, como uma alternativa aprimorada ao LZ4. Quando você ativa a compactação de dicionário em uma coleção do Amazon DocumentDB 8.0 selecionando Zstd como algoritmo de compactação, os documentos da sua coleção são amostrados para criar um dicionário de compactação personalizado. Documentos novos e atualizados são compactados usando este dicionário e o algoritmo Zstd. Essa abordagem normalmente atinge taxas de compactação mais altas do que os métodos de compactação padrão, especialmente para coleções com esquemas de documentos consistentes ou nomes de campos repetidos.
O LZ4 é um algoritmo projetado para compressão e descompressão rápidas. É conhecido por ser leve na CPU e, ao mesmo tempo, obter uma compressão perceptível. O Zstd é um algoritmo de uso geral que, com as configurações padrão, usa mais CPU, mas atinge melhores taxas de compressão do que o LZ4. O uso de dicionários melhora ainda mais a compactação da maioria dos documentos JSON. Alguns benefícios do algoritmo Zstd são:
Custos de armazenamento reduzidos — Taxas de compressão mais altas significam menos uso de armazenamento e menores custos.
Inferior I/O — Documentos compactados exigem menos I/O, potencialmente melhorando o desempenho.
Otimizado para sua coleção — O dicionário é treinado especificamente para os padrões de dados da sua coleção.
nota
Dictionary-based a compactação não é suportada nas versões 3.6, 4.0 e 5.0 do Amazon DocumentDB.
Considerações sobre a performance
A compressão Zstd envolve as seguintes vantagens e desvantagens:
Armazenamento versus CPU — A compressão Zstd atinge melhores taxas de compressão, mas pode usar um pouco mais de recursos da CPU em comparação com a compressão LZ4.
Compressão inicial — Novas coleções podem não atingir a compactação ideal até que documentos suficientes sejam inseridos para treinar um dicionário eficaz. Atualmente, o Amazon DocumentDB treina um dicionário quando uma coleção tem pelo menos 100 documentos.
Tipo de carga de trabalho — Read-intensive cargas de trabalho em que todos os dados cabem no cache do buffer podem sofrer um aumento na latência e no uso da CPU devido à sobrecarga de descompressão.
A compressão Zstd é particularmente eficaz para coleções com documentos pequenos, matrizes de documentos e nomes de campos repetidos.
Habilitando a compactação baseada em dicionário
Para novas coleções, você pode usar o comando abaixo para ativar a compactação Zstd:
db.createCollection("myCollection", { storageEngine: { documentDB: { compression: { enable: true, algorithm: "zstd" } } } } )
Você também pode ativar ou modificar a compactação em uma coleção existente:
db.runCommand({ collMod: "myCollection", storageEngine: { documentDB: { compression: { enable: true, algorithm: "zstd" } } } })
Para habilitar o algoritmo Zstd para todas as novas coleções em seu cluster, defina o default_collection_compression parâmetro em seu grupo de parâmetros de cluster para zstd.
Conceitos básicos
No Amazon DocumentDB 8.0, novas coleções usam a compressão Zstd por padrão. Para desativar a compactação para novas coleções, defina o default_collection_compression parâmetro em seu grupo de parâmetros de cluster para disabled.
Começando com o Amazon DocumentDB 8.0, enabled não é mais um valor válido para default_collection_compression. Os valores válidos são zstd, lz4 e disabled.
Monitoramento
Você pode visualizar as informações de compactação de uma coleção usando um dos seguintes comandos:
db.runCommand ({collStats: “myCollection”}) OU
db.collection.stats ()
Esses comandos retornam estatísticas importantes que você pode usar para calcular a taxa de compressão:
compressão.algoritmo — O algoritmo usado (
lz4ouzstd)Tamanho de armazenamento — O armazenamento real usado pela coleção, após a compressão. Observe que esse número inclui fragmentação (ou seja, o espaço não utilizado nas páginas do banco de dados)
médiaObjSize — O tamanho lógico médio dos documentos da coleção, descompactado. Observe que, se sua coleção tiver mais de 20 mil documentos, esse número será uma aproximação com base em uma amostra de 20 mil documentos.
tamanho — O tamanho lógico da coleção sem compressão. Esse número é obtido multiplicando a médiaObjSize pelo número total de documentos na coleção, portanto, se for avgObjSize é uma aproximação, esse número também será uma aproximação.
contagem — Número de documentos na coleção
O seguinte CloudWatch as métricas podem ser úteis ao avaliar a compactação baseada em dicionário:
CPUUtilization
FreeableMemory
VolumeBytesUsed
VolumeReadIOPs
VolumeWriteIOPs
Métricas do CollStats:
Tamanho de armazenamento
size
Além disso, pode ser útil acompanhar as métricas específicas do seu aplicativo, como latência e taxa de transferência por tipo de consulta ou API.