恰度一致性:调和可用性与安全性
分布式、并行与集群计算
2018-01-22 v1 数据库
摘要
根据 CAP 定理,分布式数据存储系统可以确保分区下一致性(CP)或分区下可用性(AP),但不能同时保证两者。这导致了 CP 数据库(其中更新是同步的)与 AP 数据库(其中更新是异步的)之间的分裂。然而,没有内在理由对所有更新一视同仁:简而言之,系统应尽可能可用,并仅为使应用正确而同步。我们提供一种基于以下洞见的、设计此类应用的系统性恰度一致性(Just-Right Consistency)方法,以调和正确性与可用性及性能:(i) 无冲突复制数据类型(CRDTs)数据模型以直观且系统的方式支持异步更新。(ii) 涉及联合或相互有序更新的不变式与 AP 兼容,并且可由事务因果一致性(Transactional Causal Consistency,不牺牲可用性的最强一致性模型)保证。关于剩余的“CAP 敏感”不变式:(iii) 对于限界计数器(Bounded Counters)这一常见模式,我们提供经证明正确且高效的封装数据类型;(iv) 在一般情况下,静态分析可识别何时同步对于正确性并非必要。我们的 Antidote 云数据库系统支持 CRDTs、事务因果一致性和限界计数器数据类型。支撑工具通过静态分析与 CAP 敏感不变式的证明来辅助设计应用。该系统支持工业级应用,并已在跨越多个地理分布式数据中心的数百台服务器上进行了实验测试。
引用
@article{arxiv.1801.06340,
title = {Just-Right Consistency: reconciling availability and safety},
author = {Marc Shapiro and Annette Bieniusa and Nuno Preguiça and Valter Balegas and Christopher Meiklejohn},
journal= {arXiv preprint arXiv:1801.06340},
year = {2018}
}