Esta página describe cómo MongoDB comprime datos en colecciones de series de tiempo y cómo puede optimizar la compresión.
Algoritmo de compresión predeterminado
Las colecciones de series temporales utilizan compresiónzstd, que se diferencia del algoritmo de compresión predeterminado global, snappy.
Compresión de columna
A partir de MongoDB,5.2 las colecciones de series temporales utilizan la compresión de columnas. Esta tecnología incorpora diversas innovaciones que, en conjunto, mejoran significativamente la compresión práctica, reducen el almacenamiento total de datos en disco y mejoran el rendimiento de lectura.
Estas mejoras reducen aún más el tamaño de los datos en el disco cuando se comprimen con zstd, y también reduce significativamente el espacio utilizado en la caché de WiredTiger.
Los tipos de compresión introducidos son:
Codificación delta
Compresión de objetos
Compresión de matrices (a partir de MongoDB 6.0)
Codificación de longitud de ejecución (RLE)
Codificación delta (compresión delta)
La codificación delta aprovecha las características de los datos de su colección de series temporales. En lugar de almacenar valores absolutos, la codificación delta asume que las mediciones no cambiarán rápidamente entre sí. Este enfoque reduce la cantidad de información necesaria, ya que solo almacena la diferencia entre las mediciones.
Codificación Delta de Delta (Compresión Delta de Delta)
Con datos que aumentan monótonamente, la codificación Delta de Delta puede minimizar aún más el tamaño del número almacenado calculando un delta del propio delta.
Compresión de objetos y matrices
La compresión de columnas garantiza que si utiliza objetos y matrices en sus documentos, recibirá los mismos beneficios de compresión si esos campos integrados existieran en el nivel raíz de su documento.
Obtén más información
Para aprender a optimizar la compresión, consulte Mejores prácticas de compresión.