FASTER: A Concurrent Key-Value Store with In-Place Updates
- Badrish Chandramouli ,
- Guna Prasaad ,
- Donald Kossmann ,
- Justin Levandoski ,
- James Hunter ,
- Mike Barnett
2018 ACM SIGMOD International Conference on Management of Data (SIGMOD '18), Houston, TX, USA |
Published by ACM
Over the last decade, there has been a tremendous growth in data-intensive applications and services in the cloud. Data is created on a variety of edge sources, e.g., devices, browsers, and servers, and processed by cloud applications to gain insights or take decisions. Applications and services either work on collected data, or monitor and process data in real time. These applications are typically update intensive and involve a large amount of state beyond what can fit in main memory. However, they display significant temporal locality in their access pattern. This paper presents FASTER, a new key-value store for point operations. FASTER combines a highly cache-optimized concurrent hash index with a «hybrid log»: a concurrent log-structured record store that spans main memory and storage, while supporting fast in-place updates of the hot set in memory. FASTER extends the standard key-value store interface to handle read-modify-writes, blind updates, and CRDT-based updates. Experiments show that FASTER achieves orders-of-magnitude better throughput – up to 160M operations per second on a single machine – than alternative systems deployed widely today, and exceeds the performance of pure in-memory data structures when the workload fits in memory.
FASTER: An Embedded Key-Value Store for State Management
Management of large application state is one of the hardest problems for cloud and edge apps today. We demonstrate FASTER, a new open-source concurrent key-value store from Microsoft Research, that supports larger-than-memory data while providing unprecedented performance for the hot working set in main memory. FASTER achieves up to orders-of-magnitude better throughput than systems deployed widely today. FASTER is available in C# and C++ and can work with any storage backend such as local SSD and cloud storage. FASTER is currently being integrated into services such as Azure Stream Analytics. Our demonstration focuses on: (1) the ease with which cloud applications and state stores can deeply integrate state management into their C# or C++ logic at low overhead; and (2) the innovative system design and…