I read that prefix compression is used on the keys. But what about the data values? We've been trying out in-memory databases and the memory usage we're seeing is way less than the data we're putting in; without even considering the keys and data structure overhead. For instance, with a billion 64 bit integers as values stored against keys that are 10 to 16 bytes long, top is showing resident memory usage of around 5 GB. That seems almost too good to be true. Is there some hidden cost we're not looking at?