I was reading this great article on sstables http://www.igvita.com/2012/02/06/sstable-and-log-structured-storage-leveldb/
And the only thing it is not touching upon is how it is doing lookups when compression is enabled. Is cassandra using the snappy framing concept so it can random access into the file as well? I mean, some of the STCS files are HUGE while all my LCS files are 10MB. Under the covers how is that working? (If I were to guess snappy framing is used and on a read, it either keeps halving the file and reading just pieces or has some index info as to which frame the the key is in)…I would guess on LCS that the whole file is one frame always due to the small size and the whole file is uncompressed to read the one key from that file. Though I would love to read a blog on this somewhere about how this works in detail. (all the writes/updates/deletes make complete sense but no one seems to write about reads in the face of compression). Thanks, Dean