CSD 2000 Case Study: Building A Highly Efficient Redis-on-Flash Cluster
Introduction to Redis-on-Flash
Redis-on-Flash increases the capacity of a Redis cluster by utilizing high-performance Flash memory as a storage tier below main memory (RAM). All keys are stored in RAM along with the hottest values. Cooler values are moved to Flash. When a value stored in Flash is accessed, it is promoted back into RAM.
Redis-on-Flash utilizes RocksDB to manage the values stored in Flash. RocksDB employs a Log-Structured Merge-Tree (LSM-Tree) structure that makes insertions into the database very fast, but reads may require multiple accesses to storage to retrieve a record. RocksDB is therefore ideally suited for write-heavy workloads. This aligns well with Redis-on-Flash where frequently accessed data resides in RAM and less frequently accessed data is tiered into Flash until it expires or is evicted. That is, a typical Redis-on-Flash system will write frequently to Flash but read only occasionally […].