计算机科学

高可用数据库系统中的分布式一致性协议

  • 储佳佳 ,
  • 郭进伟 ,
  • 刘柏众 ,
  • 张晨东 ,
  • 钱卫宁
展开
  • 华东师范大学 数据科学与工程研究院, 上海 200062

收稿日期: 2016-06-24

  网络出版日期: 2016-11-29

基金资助

国家自然科学基金重点项目(61332006); 国家863计划项目(2015AA015307)

On the distributed consensus protocol in high-availability database systems

  • CHU Jia-jia ,
  • GUO Jin-wei ,
  • LIU Bo-zhong ,
  • ZHANG Chen-dong ,
  • QIAN Wei-ning
Expand
  • Institute for Data Science and Engineering, East China Normal University, Shanghai 200062, China

Received date: 2016-06-24

  Online published: 2016-11-29

摘要

可用性和一致性是分布式数据库系统中的两个重要特性和基础, 需要借助分布式一致性协议来保证.  保证一致性需要使用一致性协议为并发的事务更新操作确定一个全局的执行顺序, 并协调局部状态和全局状态不断地达到动态一致. 可用性的实现, 需要一致性协议协调多副本之间的一致来实现主备节点的无缝切换. 可见, 分布式一致性协议是高可用数据库系统的实现基础. 本文梳理、综述了经典的分布式一致性协议以及一致性协议在高可用数据库系统中的主要应用, 并对分布式一致性协议的实现代价和局限性进行了分析与评估.

本文引用格式

储佳佳 , 郭进伟 , 刘柏众 , 张晨东 , 钱卫宁 . 高可用数据库系统中的分布式一致性协议[J]. 华东师范大学学报(自然科学版), 2016 , 2016(5) : 1 -9 . DOI: 10.3969/j.issn.1000-5641.2016.05.001

Abstract

Availability and consistency are the two important characteristics of the distributed database systems, which need to be guaranteed by the distributed consensus
protocol. Ensuring consistency requires a consensus protocol to determine a global execution sequence for concurrent transaction updates, and to coordinate the consistency between local states and the global state continuously. For the implementation of the availability, we need to coordinate the consistency between the multiple backups to achieve the seamless switch between the main and backup nodes. Visible, distributed consistency protocol is the basis for the realization of high availability database system. Distributed consensus protocol is the base of high availability database systems. This paper summarizes
the classical consistency protocols and the main applications in high-availability systems of the distributed consistency protocols. Meanwhile, the implementation costs and limitations of the consistency protocols are analyzed and evaluated.

参考文献

[ 1 ] LAMPSON B W. How to build a highly available system using consensus[C]//International Workshop on Distributed Algorithms. Springer-Verlag, 1996: 1-17.
[ 2 ] GILBERT S, LYNCH N©Brewer’s conjecture and the feasibility of consistent, available, partition-tolerant web services [J]. Acm Sigact News, 2002, 33(2): 51-59.
[ 3 ] BREWER E A. Towards robust distributed systems (abstract) [C]//Nineteenth ACM Symposium on Principles of Distributed Computing. ACM, 2007: 7.
[ 4 ] GRAY J N. Notes on data base operating systems[C]//Advanced Course: Operating Systems. Springer-Verlag, 1978: 393-481.
[ 5 ] MOHAN C, LINDSAY B, OBERMARCK R. Transaction management in the R* distributed database management system[J]. ACM Transactions on Database Systems, 1986, 11(4): 378-396.
[ 6 ] LAMPSON B W, LOMET D B. A New Presumed Commit Optimization for Two Phase Commit[C]//International Conference on Very Large Data Bases. Morgan Kaufmann Publishers Inc, 1993: 630-640.
[ 7 ] LAMPORT L. Paxos made simple[J]. AcmSigact News, 2001, 32(4): 1-11.
[ 8 ] CHANDRA T D, GRIESEMER R, REDSTONE J. Paxos made live: An engineering perspective[C]//Twenty-Sixth ACM Symposium on Principles of Distributed Computing. ACM, 2007: 398-407.
[ 9 ] LAMPORT L. The part-time parliament[J]. Acm Transactions on Computer Systems, 1998, 16(2): 133-169.
[10] SKEEN D. Nonblocking commit protocols[C]//ACM SIGMOD International Conference on Management of Data, Ann Arbor, Michigan, April 29-May. 1981: 133-142.
[11] GIFFORD D K. Weighted voting for replicated data[C]//ACM Symposium on Operating Systems Principles. ACM, 1979: 150-162.
[12] LAMPORT L B, MASSA M T. Cheap paxos: IEEE, US 7249280 B2 [P]. 2007.
[13] LAMPORT L. Fast Paxos [J]. Distributed Computing, 2005, 19(2): 79-103.
[14] LAMPORT L, MALKHI D, ZHOU L, et al. Vertical paxos and primary-backup replication[C]//Principles of Distributed Computing, 2009: 312-313.
[15] ONGARO D, OUSTERHOUT J. In search of an understandable consensus algorithm [R/OL]. [2016-07-07]. https://ramcloud.atlassian.net/wiki/download/attachments/6586375/raft.pdf
[16] COULOURIS G, DOLLIMORE J, KINDBERG Tet al. Distrinbuted Systems Concepts and Design[M]. 5 版.北京: 机械工业出版社,  2015: 378-380.
[17] GRAY J. The dangers of replication and a solution [J]. AcmSigmod Record, 1996, 25(2): 173-182.
[18] CORBETT J C, DEAN J, EPSTEIN M P, et al. Spanner: Google's globally-distributed database[C]. Operating Systems Design and Implementation, 2012: 251-264.
[19]阳振坤. OceanBase 关系数据库架构 [J]. 华东师范大学学报(自然科学版),2014(5): 141-148.
[20]李凯, 韩富晟. OceanBase 内存事务引擎 [J].华东师范大学学报(自然科学版), 2014(5): 149-163.
[21] 杨传辉. OceanBase高可用方案 [J]. 华东师范大学学报(自然科学版),2014(5): 173-179.
[22]张晨东, 郭进伟, 刘柏众, 等. 基于Raft一致性协议的高可用性实现 [J].华东师范大学学报(自然科学版), 2015(5): 172-184.
[23]庞天泽.可扩展数据管理系统中的高可用性实现[D].上海:华东师范大学计算机科学与软件工程学院. 2016.
[24] LAMPORT L, SHOSTAK R, PEASE M. The byzantine generals problem [J]. Acm Transactions on Programming Languages {\&] Systems, 1995, 4(3): 382-401.
[25] GRAY J, LAMPORT L. Consensus on transaction commit [J]. Acm Transactions on Database Systems, 2010, 31(1): 133-160.

文章导航

/