Cure: Strong semantics meets high availability and low latency
Abstract
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 high-level data types (developer friendly) with safe resolution of concurrent updates (guaranteeing convergence). These guarantees minimise the anomalies caused by parallelism and distribution, and facilitate the development of applications. This paper presents the protocols for highly available transactions , and an experimental evaluation showing that Cure is able to achieve performance similar to eventually-consistent NoSQL databases, while providing stronger guarantees.
Les développeurs d’application à très grande échelle (dans le nuage) doivent prendre la difficile décision de quel type de stockage utiliser, selon le théorème CAP. Aujourd’hui, ils n’ont le choix qu’entre les bases de données classiques de type CP, qui donnent des garanties fortes, mais sont lentes, chères, et non disponible en cas de partition réseau ; et les bases de données NoSQL de type AP, qui sont rapides et disponibles, mais complexifient le développement applicatif. Nous proposons une troisième voie : la base de données répartie Cure, qui offre les garanties les plus fortes compatibles avec la dispo- nibilité. Il s’agit des garanties suivantes : cohérence causale (pas d’ordonnancement anormal), atomicité (mises-à-jour multi-clefs mutuellement cohérentes), et types de données de haut niveau (aidant les dé- veloppeurs) avec résolution sûre des mises-à-jour concurrentes (garantie de convergence). Ces garanties minimisent les anomalies causées par le parallélisme et la répartition, et facilitent le développement ap- plicatif. Ce rapport présente les protocoles utilisés pour rendre les transactions hautement disponibles, ainsi qu’une évaluation expérimentale, qui montre que Cure atteint des performances proches des bases de données NoSQL à cohérence à terme, tout en offrant des garanties plus fortes.
Origin | Files produced by the author(s) |
---|
Loading...