Esta página describe cómo MongoDB comprime los datos en las colecciones de series de tiempo y cómo puede optimizar la compresión.
Algoritmo de compresión por defecto
Uso de colección de series de tiempo zstd compresión, que difiere del algoritmo de compresión global por defecto, snappy.
Compresión de columna
A partir de MongoDB 5.2, las colecciones de series temporales utilizan compresión por columnas. La compresión de columna incorpora una serie de innovaciones que trabajan en conjunto para mejorar significativamente la compresión práctica, reducir el almacenamiento general de sus datos en el disco y mejorar el rendimiento de lectura.
Estas mejoras reducen aún más el tamaño de los datos en el disco cuando se comprimen con zstdy 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 arreglos (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 serie de tiempo de la colección de series de tiempo. En lugar de almacenar valores absolutos, la codificación delta supone que las mediciones no cambiarán rápidamente entre sí. Este enfoque reduce la cantidad de información requerida al almacenar solo 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 arreglos
La compresión de columnas garantiza que, si utilizas objetos y arrays en tus documentos, recibirás los mismos beneficios de compresión que si esos campos incrustados existieran en el nivel raíz de tu documento.
Obtén más información
Para aprender a optimizar la compresión, consulte Mejores prácticas de compresión.