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 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 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 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.