Docs Menu
Docs Home
MongoDB Manual
/ /

Time Series Compression

On this page

  • Default Compression Algorithm
  • Column Compression
  • Learn More

This page describes how MongoDB compresses data in time series collections, and how you can optimize compression.

Time series collections use zstd compression, which differs from the global default compression algorithm, snappy.

Starting in MongoDB 5.2, time series collections use column compression. Column compression adds a number of innovations that work together to significantly improve practical compression, reduce your data's overall storage on disk, and improve read performance.

These enhancements further reduce size of data on disk when compressed with zstd, and also significantly reduce space used in the WiredTiger cache.

The types of compression introduced are:

  • Delta Encoding

  • Object compression

  • Array compression (starting in MongoDB 6.0)

  • Run Length encoding (RLE)

Delta Encoding takes advantage of the data in your time series collection having time-series characteristics. Instead of storing absolute values, Delta Encoding assumes that the measurements will not change rapidly between each other. This approach reduces the amount of information required by only storing the difference between measurements.

With data that increases monotonically, Delta of Delta Encoding can further minimize the size of the number stored by calculating a delta of the delta itself.

Column compression ensures that if you are using objects and arrays in your documents, you receive the same compression benefits had those embedded fields existed at the root level of your document.

To learn how to optimize compression, see Optimize Compression.