The OS should handle this really well as long as your on v3 linux kernel....
It's possible to set caching to:
all, keys_only, rows_only, or none
.. for a given table.
But we have one table which is MASSIVE and we only need the most recent 4-8 hours in memory.
Anything older than that can go to disk as the queries there are very rare.
… but I don't think cassandra can do this (which is a shame).
Another option is to partition our tables per hour… then tell the older tables to cache 'none'…
I hate this option though. A smarter mechanism would be to have a compaction strategy that created an SSTable for every hour and then had custom caching settings for that table.
The additional upside for this is that TTLs would just drop the older data in the compactor..
Location: San Francisco, CA
War is peace. Freedom is slavery. Ignorance is strength. Corporations are people.