Specification of a Transactionally and Causally-Consistent (TCC) database
Résumé
Large-scale application are typically built on top of geo-distributed databases running on multiple datacenters (DCs) situated around the globe. Network failures are unavoidable, but inmost internet services, availability is not negotiable; in this context, the CAP theorem proves that it is impossible to provide both availability and strong consistency at the same time. Sacrificing strong consistency, exposes developers to complex anomalies that are complex to build against.AntidoteDB is a database designed for geo-replication. As it aims to provide high availability with the strongest possible consistency model, it guarantees Transactional Causal Consistency (TCC) and supports CRDTs. TCC means that: (1) if one update happens before another, they will be observed in the same order (causal consistency), and (2) updates in the same transaction are observed all-or-nothing.In AntidoteDB, the database is persisted as a journal of operations. In the current implementation, the journal grows without bound. The main objective of this work is to specify a mechanism for pruning the journal safely, by storing recent checkpoints. This will enable faster reads and crash recovery.
Les applications à grande échelle sont généralement construites au-dessus de base de données géo-distribuées qui tournent sur de multiples centres de données répartis dans le monde.Les défaillances de réseaux sont inévitables, pourtant pour la majorité des services en ligne, la disponibilité est essentielle. Dans ce contexte, le théorème CAP prouve qu’il est impossible d’être à la fois hautement disponible et fournir de la cohérence forte. Sacrifier la cohérence forte, expose les développeurs a des anomalies complexes à gérer. AntidoteDB est une base de données conçue pour être répartie à travers le monde. Avec pour objectif de fournir une haute disponibilité avec le plus haut modèle de cohérence possible.Elle garantit de la cohérence causale transactionnelle (TCC) et des types de données convergents(CRDTs). TCC signifie que : (1) si une mise à jour a eu lieu avant une autre, elles seront observées dans le même ordre (cohérence causal), et (2) les mises à jour appartenant à une même transaction seront vues simultanément ou pas du tout.Dans AntidoteDB, la base de données est stockée sous la forme d’un journal d’opération. Dans l’implémentation actuelle le journal croit sans limite. L’objectif principal de ce travail est d’écrire la spécification d’un mécanisme de troncature du journal sûr, en effectuant des points de contrôles. Cela permettra d’avoir des lectures plus rapides ainsi qu’une récupération de données plus rapide
Origine | Fichiers produits par l'(les) auteur(s) |
---|
Loading...