Distributed key-value (KV) stores are a rising alternative to traditional relational databases since they provide a flexible yet simple data model. Recent KV stores use eventual consistency to ensure fast reads and writes as well as high availability. Support for eventual consistency is however still very limited as typically only a handful of replicated data types are provided. Moreover, modern applications maintain various types of data, some of which require strong consistency whereas other require high availability. Implementing such applications remains cumbersome due to the lack of support for data consistency in today’s KV stores. In this paper we propose Squirrel, an open implementation of an in-memory distributed KV store. The core idea is to reify distribution through consistency models and protocols. We implement two families of consistency models (strong consistency and strong eventual consistency) and several consistency protocols, including two-phase commit and CRDTs.

Original languageEnglish
Title of host publicationProceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection
Number of pages10
ISBN (Electronic)9781450369855
Publication statusPublished - 2019
EventProceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection - Athens, Greece
Duration: 20 Oct 2019 → …

Workshop

WorkshopProceedings of the 4th ACM SIGPLAN International Workshop on Meta-Programming Techniques and Reflection
Abbreviated titleMETA 2019
CountryGreece
CityAthens
Period20/10/19 → …

ID: 48791949