Store GZIP vs Snappy in BLOB column

I have a case to optimize our document storage. Currently we store a JSON into a STRING column, the normal size of the JSON is around 11-33 KB. And i’m curious about compressed it before store it to DB.

To store the compressed data, i use BYTES column data type. Each db consist of 50k rows of the same JSON. The result is interesting. The lzw & snappy size is expected. But gzip & zlib is somehow recompressed (see image below). For the raw JSON (the STRING column), it is already compressed by CRDB.

So, my question, is there a criteria for CRDB to recompressed BYTES column type ?