Durability for Memory-Based Key-Value Stores
Kiarash Rezahanjani · 2012
The emergence of multicore architecture as well as larger, less expensive RAM has made it possible to leverage the performance superiority of main memory for large databases. Increasingly, large scale applications demanding high performance have also made RAM an appealing candidate for primary storage. However, conventional DRAM is volatile, meaning that hardware or software crashes result in the loss of data. The existing solutions to this, such as write-ahead logging and replication, result in either partial loss of data or significant performance reduction. We propose an approach to provide durability to memory databases, with a negligible overhead and a low probability of data loss. We exploit known techniques such as chain replication, write-ahead logging and sequential writes to disk to provide durability while maintaining the high throughput and the low latency of main memory.