2016 · 114 citations · 28 references
ComputingComputer ScienceComputer SystemsCloud StorageDatabasesStorage SystemsConcurrency ControlConsistency ModelsDatabase ManagementDistributed TransactionsNosql DatabasesScalable Data StorageCap TheoremCausal ConsistencyConcurrent Update SemanticsConsistencyConsistency GuaranteesConsistency ProtocolsHigh-availability SystemsTransactions
Developers of cloud-scale applications face a difficult decision of which kind of storage to use, summarised by the CAP theorem. Currently the choice is between classical CP databases, which provide strong guarantees but are slow, expensive, and unavailable under partition, and NoSQL-style AP databases, which are fast and available, but too hard to program against. We present an alternative: Cure provides the highest level of guarantees that remains compatible with availability. These guarantees include: causal consistency (no ordering anomalies), atomicity (consistent multi-key updates), and support for high-level data types (developer friendly API) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, thus facilitating the development of applications. This paper presents the protocols for highly available transactions, and an experimental evaluation showing that Cure is able to achieve scalability similar to eventually-consistent NoSQL databases, while providing stronger guarantees.
28
Giuseppe DeCandia, Deniz Hastorun, Madan Jampani et al. · 2007 · 3.5K citations
Avinash Lakshman, Prashant Malik · ACM SIGOPS Operating Systems Review · 2010 · 2.6K citations
A critique of ANSI SQL isolation levels
Hal Berenson, Phil Bernstein, Jim Gray et al. · 1995 · 865 citations · Full text
Spanner: Google's globally-distributed database
James C. Corbett, Jay B. Dean, Michael Epstein et al. · 2012 · 827 citations