计算机软考数据库系统工程师考试内容:网络与数据库(4)
2016-1-5编辑:guomu
分布事务管理
1)分布式事务:在分布式数据库系统中,一个分布式事务是由若干个不同站点上的子事务组成的。
2)分布式事务与集中式事务的相同特性:与集中式事务的特性相同为ACID,原子性、一致性、隔离性和持久性。
分布式事务与集中式事务的不同特性:执行特性、操作特性和控制报文。执行过程中,分布式事务要必须创建一个控制进程,协调子事务、数据及控制报文;而集中式事务仅由并行调度算法进行调度即可。操作过程中,分布式事务还要加入大量的通信原语和控制原语。集中式事务没有使用控制报文。
3)分布式数据库故障:分为节点故障(事务故障、系统故障、介质故障),通信故障(报文故障、网络分割故障)。其中报文故障包括报文错、报文丢失、报文延迟。
4)分布式数据库的恢复原则:保证事务原子性的措施称为事务故障恢复,有几个原则是,
孤立和逐步退出事务的原则UNDO;
成功结束事务原则REDO;
夭折事务的原则。(撤消全部事务,恢复到初态)
在分布式事务恢复中,本地事务的恢复和集中式事务的恢复相同,由本地事务管理器LTM执行。整个的分布式事务的恢复由LTM与DTM(分布式事务管理器)协同完成。
5)两阶段提交协议2PC(准备提交、建议提交/撤销、全局提交/撤销、确认)
在2PC中,将分布式事务的某一个代理指定为协调者,其它代理都是参与者。参与者可以进行单方面撤销。2PC可以分为两个步骤:先是表决阶段,然后是执行阶段。表决中实行一票否决。
2PC对故障的恢复:(1)场地故障 参与者在写入“建议提交”前发生故障 : --协调者等到超时后将取消事务,该参与者自行可以 终止事务。
参与者在写入“建议提交”后发生故障: --而其它参与者可以正常结束事务,该参与者 要访问协调者或其它参与者获得之前协调者作出 的决定并执行相应的操作。
协调者在写入“准备提交”后,在写入“全局提交/撤销”前发生故障:
--协调者从头恢复提交协议
协调者在写入“全局提交/撤销”后,在写入“事务结束”记录前发生故障:
--协调者恢复时要给所有的参与者重发之前的全局决定。
(2)报文丢失 丢失参与者的回答报文(建议提交/撤销): --协调者将取消整个事务
丢失“准备提交”报文: --协调者在超时后将取消整个事务
丢失“全局提交/撤销”报文: --涉案参与者将请求协调者重发该报文
丢失“确认”报文: --协调者将重发全局报文,参与者无论子事务 提交与否都要给予确认。
(3)网络分割故障,整个网络被分为2组,协调者组和参与者组。各自进行故障处理。
6)三阶段提交协议3PC(在2PC基础上增加了,全局预提交和准备就绪,两个报文,可以确认所有参与者的状态)
第一阶段,协调者向所有的参与者发“准备提交”报文,只有所有参与者都投票“建议提交”,才会进入第二阶段;
第二阶段,协调者向所有的参与者发“全局预提交”报文,只有所有参与者都投票“准备就绪”,才能进入第三阶段;
第三阶段,协调者向所有的参与者发“全局提交”报文。
3PC仅降低了阻塞发生的可能性,不是完全的非阻塞协议。
3PC对故障的恢复: 协调者发出的“准备提交”报文延迟,参与者超时而撤销子事务;
协调者等待参与者投票时超时,协调者将撤销事务;
参与者处于“赞成提交”状态,而等待全局预提交时超时,参与者将进入恢复处理过程;
参与者处于“准备就绪”状态,而等待全局提交时超时,参与者将进入恢复处理过程。
在3PC协议中,恢复处理过程惟一可以做的是就近访问一个参与者,依照协调者之前作出的决定安排自己的操作。
1)分布式事务:在分布式数据库系统中,一个分布式事务是由若干个不同站点上的子事务组成的。
2)分布式事务与集中式事务的相同特性:与集中式事务的特性相同为ACID,原子性、一致性、隔离性和持久性。
分布式事务与集中式事务的不同特性:执行特性、操作特性和控制报文。执行过程中,分布式事务要必须创建一个控制进程,协调子事务、数据及控制报文;而集中式事务仅由并行调度算法进行调度即可。操作过程中,分布式事务还要加入大量的通信原语和控制原语。集中式事务没有使用控制报文。
3)分布式数据库故障:分为节点故障(事务故障、系统故障、介质故障),通信故障(报文故障、网络分割故障)。其中报文故障包括报文错、报文丢失、报文延迟。
4)分布式数据库的恢复原则:保证事务原子性的措施称为事务故障恢复,有几个原则是,
孤立和逐步退出事务的原则UNDO;
成功结束事务原则REDO;
夭折事务的原则。(撤消全部事务,恢复到初态)
在分布式事务恢复中,本地事务的恢复和集中式事务的恢复相同,由本地事务管理器LTM执行。整个的分布式事务的恢复由LTM与DTM(分布式事务管理器)协同完成。
5)两阶段提交协议2PC(准备提交、建议提交/撤销、全局提交/撤销、确认)
在2PC中,将分布式事务的某一个代理指定为协调者,其它代理都是参与者。参与者可以进行单方面撤销。2PC可以分为两个步骤:先是表决阶段,然后是执行阶段。表决中实行一票否决。
2PC对故障的恢复:(1)场地故障 参与者在写入“建议提交”前发生故障 : --协调者等到超时后将取消事务,该参与者自行可以 终止事务。
参与者在写入“建议提交”后发生故障: --而其它参与者可以正常结束事务,该参与者 要访问协调者或其它参与者获得之前协调者作出 的决定并执行相应的操作。
协调者在写入“准备提交”后,在写入“全局提交/撤销”前发生故障:
--协调者从头恢复提交协议
协调者在写入“全局提交/撤销”后,在写入“事务结束”记录前发生故障:
--协调者恢复时要给所有的参与者重发之前的全局决定。
(2)报文丢失 丢失参与者的回答报文(建议提交/撤销): --协调者将取消整个事务
丢失“准备提交”报文: --协调者在超时后将取消整个事务
丢失“全局提交/撤销”报文: --涉案参与者将请求协调者重发该报文
丢失“确认”报文: --协调者将重发全局报文,参与者无论子事务 提交与否都要给予确认。
(3)网络分割故障,整个网络被分为2组,协调者组和参与者组。各自进行故障处理。
6)三阶段提交协议3PC(在2PC基础上增加了,全局预提交和准备就绪,两个报文,可以确认所有参与者的状态)
第一阶段,协调者向所有的参与者发“准备提交”报文,只有所有参与者都投票“建议提交”,才会进入第二阶段;
第二阶段,协调者向所有的参与者发“全局预提交”报文,只有所有参与者都投票“准备就绪”,才能进入第三阶段;
第三阶段,协调者向所有的参与者发“全局提交”报文。
3PC仅降低了阻塞发生的可能性,不是完全的非阻塞协议。
3PC对故障的恢复: 协调者发出的“准备提交”报文延迟,参与者超时而撤销子事务;
协调者等待参与者投票时超时,协调者将撤销事务;
参与者处于“赞成提交”状态,而等待全局预提交时超时,参与者将进入恢复处理过程;
参与者处于“准备就绪”状态,而等待全局提交时超时,参与者将进入恢复处理过程。
在3PC协议中,恢复处理过程惟一可以做的是就近访问一个参与者,依照协调者之前作出的决定安排自己的操作。