Abstract | ||
---|---|---|
Many key-value stores have recently been proposed as platforms for always-on, globally-distributed, Internet-scale applications. To meet their needs, these stores often sacrifice consistency for availability. Yet, few tools exist that can verify the consistency actually provided by a key-value store, and quantify the violations if any. How can a user check if a storage system meets its promise of consistency? If a system only promises eventual consistency, how bad is it really? In this paper, we present efficient algorithms that help answer these questions. By analyzing the trace of interactions between the client machines and a key-value store, the algorithms can report whether the trace is safe, regular, or atomic, and if not, how many violations there are in the trace. We run these algorithms on traces of our eventually consistent key-value store called Pahoehoe and find few or no violations, thus showing that it often behaves like a strongly consistent system during our tests. |
Year | Venue | Keywords |
---|---|---|
2010 | HotDep | user check,storage system,consistent key-value store,key-value store,eventual consistency,efficient algorithm,consistent system,client machine,Internet-scale application |
Field | DocType | Citations |
Eventual consistency,Computer data storage,Computer science,Computer security,Associative array | Conference | 34 |
PageRank | References | Authors |
1.53 | 11 | 5 |
Name | Order | Citations | PageRank |
---|---|---|---|
Eric Anderson | 1 | 348 | 27.02 |
Xiaozhou Li | 2 | 164 | 8.55 |
Mehul A. Shah | 3 | 3547 | 317.66 |
Joseph Tucek | 4 | 614 | 31.50 |
Jay J. Wylie | 5 | 685 | 44.29 |