Compressão de Time Series
Esta página descreve como o MongoDB comprime dados em coleções de séries temporais e como você pode otimizar a compactação.
Algoritmo de compactação padrão
As coleções de séries temporais usam compactação zstd, que difere do algoritmo de compactação padrão global, snappy.
Compressão de coluna
A partir do MongoDB 5.2, as coleções de séries temporais usam compressão de coluna. A compactação de colunas adiciona várias inovações que funcionam juntas para melhorar significativamente a compactação prática, reduzir o armazenamento geral de seus dados em disco e melhorar o desempenho de leitura.
Esses aprimoramentos reduzem ainda mais o tamanho dos dados no disco quando compactados com zstd
e também reduzem significativamente o espaço usado no cache do WiredTiger.
Os tipos de compressão introduzidos são:
Codificação delta
Compressão de objetos
Compactação de array (a partir do MongoDB 6.0)
Codificação run-length (Run-length encoding em inglês, sigla RLE)
Codificação Delta (Compressão Delta)
A codificação delta aproveita o fato de os dados em sua coleção de séries temporais terem características de séries temporais. Em vez de armazenar valores absolutos, a codificação delta assume que as medições não mudarão rapidamente entre si. Essa abordagem reduz a quantidade de informações necessárias armazenando apenas a diferença entre as medições.
Delta of Delta Encoding (Delta of Delta Compression)
Com dados que aumentam monotonicamente, a codificação delta of delta pode minimizar ainda mais o tamanho do número armazenado calculando um delta do próprio delta.
Compressão de objetos e arrays
A compactação de colunas garante que, se estiver usando objetos e matrizes em seus documentos, você receberá os mesmos benefícios de compactação de que se esses campos incorporados existissem no nível raiz do seu documento.
Saiba mais
Para saber como otimizar a compactação, consulte Melhores práticas de compactação.