MemoryXtend for Disk provides high-speed persistence for GigaSpaces by tiering data to external storage (SSD, HDD, or All-Flash-Arrays) using a RocksDB-based blobstore. This architecture allows the system to handle operational workloads larger than the available JVM heap while keeping all indexes in RAM for performance.
Architecture Components:
- Space Partition Instance: A JVM heap acting as an LRU cache. It stores indexes, metadata, transactions, replication redo logs, leases, and statistics.
- Blobstore: A persistent key/value store based on a log-structured merge tree. It consists of:
- MemTable: Off-heap RAM for incoming writes; flushed to SST files when full.
- Log (WAL): A write-ahead log used to recover the store to a consistent state after failure.
- SST Files: Disk-based structures optimized for high throughput and sequential I/O.
- Built-in Cache: Part of the Space partition tier that stores objects in their native form.