3 ms·
How do they make Gemstone so fast? They have to track every assignment to every persistent object, right? How does Gemstone handle data that doesn't fit in memo
by jules 18y ago
How do they make Gemstone so fast? They have to track every assignment to every persistent object, right? How does Gemstone handle data that doesn't fit in memory?
- gnaritas 18y ago> How do they make Gemstone so fast? Gemstone is like a smart memcached + relational db. They call it a shared page cache, but it's basically like memcached but not just a cache and with brains. A transaction commits through the cache to disk and the same object format is used by every layer removing the need to constantly re-serialize. The client talks to the cache, the cache talks to the back end store when it decides it needs to page something in. As for change tracking, I'm fairly certain there's a write barrier at the vm level, change anything and the barrier is broken causing the object to added to a commit list. As for larger than memory queries, no different than a relational store, you work in batches paging in data as necessary. If you're talking about a single transaction that modifies more than will fit in ram, I have no idea, I've never had to do something like that.