Introduction to Concurrence Control in database [数据库并发控制概述]
Published: May. 30, 2016
如果一个数据库只有一个用户的话,很多我们现在考虑的问题都不会存在,而数据库的设计也会变得比较简单。但是现实中,数据库一般是一个大型的共享资源,也就意味着很多用户都要进行事物操作,这也就带来一个问题就是,如果一个数据被一个以上的用户同时访问怎么办?这个就是数据库中的并发控制问题。举一个估计被说烂的例子:
如果一个数据库只有一个用户的话,很多我们现在考虑的问题都不会存在,而数据库的设计也会变得比较简单。但是现实中,数据库一般是一个大型的共享资源,也就意味着很多用户都要进行事物操作,这也就带来一个问题就是,如果一个数据被一个以上的用户同时访问怎么办?这个就是数据库中的并发控制问题。举一个估计被说烂的例子:
第二部分主要介绍了Paxos的算法内容和具体的证明过程
Paxos,是一个久负盛名的分布式系统一致性算法[协议],其作者Leslie Lamport更因在分布式系统中的贡献获颁2013年的图灵奖、2014被选为ACM Fellow。这些都是计算机科学领域无上的荣誉。
Three-Phase Commit[3PC],三阶段提交,是二阶段提交[2PC]的升级版,最大的区别在于两处:
Two-phase Commit [2PC],二阶段协议提交是一种应用在分布式系统中的保持系统一致性的协议,尽管它有着明显的缺陷,而后续改进的协议或者算法也有很多,但是它的设计思想还是很值得学习的。