Photo by Fabrizio Verrecchia on Unsplash

VictoriaMetrics: achieving better compression than Gorilla for time series data

Aliaksandr Valialkin
May 20 · 4 min read

Gorilla compression algorithm

Gorilla compression analysis

0.0, a=0000000000000000, b=3FB999999999999A, a^b=3FB999999999999A
0.1, a=3FB999999999999A, b=3FC999999999999A, a^b=0070000000000000
0.2, a=3FC999999999999A, b=3FD3333333333334, a^b=001AAAAAAAAAAAAE
0.3, a=3FD3333333333334, b=3FD999999999999A, a^b=000AAAAAAAAAAAAE
0.4, a=3FD999999999999A, b=3FE0000000000000, a^b=003999999999999A
0.5, a=3FE0000000000000, b=3FE3333333333333, a^b=0003333333333333
0.6, a=3FE3333333333333, b=3FE6666666666666, a^b=0005555555555555
0.7, a=3FE6666666666666, b=3FE9999999999999, a^b=000FFFFFFFFFFFFF
0.8, a=3FE9999999999999, b=3FECCCCCCCCCCCCC, a^b=0005555555555555
0.9, a=3FECCCCCCCCCCCCC, b=3FEFFFFFFFFFFFFF, a^b=0003333333333333
1.0, a=3FEFFFFFFFFFFFFF, b=3FF1999999999999, a^b=001E666666666666

Improving time series compression

0, a=0000000000000000, b=0000000000000001, a^b=0000000000000001
1, a=0000000000000001, b=0000000000000002, a^b=0000000000000003
2, a=0000000000000002, b=0000000000000003, a^b=0000000000000001
3, a=0000000000000003, b=0000000000000004, a^b=0000000000000007
4, a=0000000000000004, b=0000000000000005, a^b=0000000000000001
5, a=0000000000000005, b=0000000000000006, a^b=0000000000000003
6, a=0000000000000006, b=0000000000000007, a^b=0000000000000001
7, a=0000000000000007, b=0000000000000008, a^b=000000000000000F
8, a=0000000000000008, b=0000000000000009, a^b=0000000000000001
9, a=0000000000000009, b=000000000000000A, a^b=0000000000000003

Gauges and Counters

Using general-purpose compression

Conclusions

Faun

The Must-Read Publication for Aspiring Developers & DevOps Enthusiasts

Aliaksandr Valialkin

Written by

Founder and core developer at VictoriaMetrics

Faun

Faun

The Must-Read Publication for Aspiring Developers & DevOps Enthusiasts