> Is it possible, that single row (8 columns) can allocate about 2KB heap?
It sounds a bit much, though not extremely so (depending on how much overhead there is per-column relative to per-row). Are you definitely looking at the live size of the heap (for example, trigger a full GC and look at results) and not just how much data there happens to be on the heap after your insertion? In any case, if you are looking for better memory efficiency I advise looking at the off-heap row cache (http://www.datastax.com/dev/blog/whats-new-in-cassandra-1-0-improved-memory-and-disk-space-management). It is suposed to be enabled by default. If it's not, do you have JNA installed? The reason I say that is that the off-heap cache stores serialized information on the heap rather than the full tree of Java objects. If off-heap caching is enabled, 2 kb/row key would be far far more than expected (unless I'm missing something, I've actually yet to actually measure it myself ;)). -- / Peter Schuller (@scode, http://worldmodscode.wordpress.com)