ACID是什么?四种隔离级别?默认隔离级别是?
CAP:一致性 可用性 分区容错性
BASE理论:基本可用 弱状态 最终一致性
(PS:Undo Redo不提交,也就意味数据未写到磁盘只是写到了事务日志内且资源一直被加锁)
2PC?(提交事务请求{可否事务?};执行事务提交{有No全部rollback并反馈};)
3PC?(CanCommit{询问是否可以提交并返回各点响应} ; PreCommit{预提交并返回成功与否的响应,有否就全部参与者都中断并rollback} ; DoCommit{正式事务提交、中断、rollback...} ;)
2PC 3PC 各自优缺点?(同步阻塞 单点问题 数据不一致 过于保守;)(解决了单点问题,但是会引入不一致的问题{由于通信中断参与者依然会commit})
一个一致性算法需要保证的点是:被提出的提案中仅有一个会被选定,没有提出提案就不会被选定,提案被选定后进程可以获取被选定的提案信息
对于这个一致性算法需要的安全性是:只有被提出的提案才能被选中,只能选一个提案,如果进程认为提案被选定了那这个提案必须是被选中的那个
提案选定分为两个阶段:(小于提案编号的提案被acc拒接,大于该提案编号的提案的val为提案的val)
Learner的提案获取过程分三种方法:
保证算法活性:(有可能两个proposal分别生成提案,均完成阶段一,没法完成阶段二,进入死循环)
原文:https://www.cnblogs.com/tillnight1996/p/12874737.html