https://github.com/facebook/zstd/issues/395#issuecomment-535...

If anyone from Facebook is reading, please look at making zstd seekable. There is already experimental support but it needs to be standardized. This could open up really interesting new use-cases [see my comment linked above], where currently we have to use much slower xz/lzma instead.

You can use sqlite with zstd compression (which can be extremely efficient with a shared compression dictionary).

I'm actually working on a sqlite addon right now that allows to transparently compress tables in sqlite using zstd dictionaries and the preliminary results are really promising! One DB I have compresses down from 1GB to 80MB and random SELECTs are faster in the compressed DB when the cache is cold and only somewhat slower when it is hot :)

https://github.com/phiresky/sqlite-zstd