In our modern digital life, activities from buying clothes to accessing government services depend on working with computer applications which store information in a long-lasting form, that is, they need a data store, where information (called ”values”) is found using a label or ”key”, So the key-value store is vital for the functionality and performance of all applications. Even relational databases typically contain a key-value store as a storage engine, underneath layers that support a richer query model.
The current key-value stores are designed for today’s typical hardware environment with a memory hierarchy of slow but capacious hard disk, flash-based SSD, and fast but limited and volatile RAM. Currently, no key-value store can leverage the speed of current high end hardware. Existing key-value are severely limited by the operations they do on CPU, and are unable to efficiently exploit fast NVMe SSDs, hybrid memories (persistent, high bandwidth, CXL, ...), and accelerators (GPUs, TPUs, ...).
The goal of this project is to rethink the way data is stored in memory and on disk to design a fast key-value store for modern hardware.