In the Cassandra Storage engine, there really isnโt much difference between blob and text, since Cassandra stores text as drops in essence. And yes, the "native" JSON support that you are talking about depends only on when your data model matches your JSON model, and only in Cassandra 2.2 +.
I would save it as a text type, and you did not need to inject anything to compress your JSON data when sending data (or handle decompression). Because the Cassandra Binary Protocol supports transport compression . Also, make sure your table stores the compressed data with the same compression algorithm (I suggest using LZ4, since this is the fastest algorithm) to save on the compression for each read request. Thus, if you configure storage of compressed data and use transport compression, you do not even need to implement yourself.
You did not specify which client driver you are using, but here is the documentation on how to configure transport compression for the Java Datastax Client Driver .
source share