- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
此时.现在只能对连通站点Bl,B2,…, Bn上的x副本进行更新,而对不连通站点Cl,C2,…,Cm上的x副本,只能当站点连通时才能进行更新。为此,要记录对x所做的更新内容和应更新而未被连通的站点,一旦其中的站点连通,就立刻进行相应的更新。 2. 多站点数据更新存在的问题 1) 多站点各副本同时更新的不现实性:因为每一个站点某一时刻与站点A连通的概率为P (P=1),同时更新要求每一个有X副本的站点与A都连通,其概率是:P**n,当n趋于无穷大时, P**n趋于0. 2)当对未连通的站点上的副本要求更新的事务增多时,就不能保证在该站点A连通时,进行的更新是正确的. 因为更新的顺序就是连通的顺序,而通常情况下,更新的顺序不会是连通的顺序,除非更新是相互独立的. 4.5.2主文本更新法 基本思想 对每一个有多副本的数据(关系或片段),指定其中一个副本为主文本,其他为辅文本。一般,不同的数据其主文本在不同的站点上,对一个数据的更新,只要对它的主文本进行更新,就认为完成了对该数据的更新。然后由拥有主文本的站点负责把对主文本所做的更新,及时发送给各辅文本站点进行更新。各辅文本的更新可并行进行。如有与主文本尚未连通的辅文本,在连通后按记录的更新顺序逐一进行更新。 例如 站点A拥有x的主文本,其他站点拥有x的辅文本.站点B1现在未连通.TI和T2分别为站点A和站点B5发出的修更新x的事务,且TI先于T2。站点A上的事务管理程序按TI,T2顺序对在其站点上的x主文本进行修改,并依次记录更新内容和尚 未连通的站点B3。并及时向各连通站点发出更新通知和更新内容,由于站点BI,B2,B4, B5是连通站点,收到通知按T1,T2要求进行修改。因B3尚未连通,待其连通时,由站点A将记录的要求更新的内容和修更新顺序通知站点B2上的事务管理器执行更新。 2.存在问题 (1)更新传播要在短时间内完成,否则将会得到“过时”数据。 (2)如果主文本站点不可用时,会引起其他辅文本站点也不可用。 3. 改进方法 采用“移动主文本法”. 移动主文本法:若初次修改在某个辅文本站点上进行,然后再把更新引向该数据的主站点。如果主站点此时尚未连通,则另选一个辅站点中的辅文本为该数据新的主文本进行更新.待原主文本站点连通后,系统将自动把它改为辅文本,并按记录要求执行更新. * 4.3 两阶段提交协议4.4分布式数据库中的数据更新4.5分布式事务增强数据库一致性4.6本章小结 4.3 两阶段提交协议 4.3.1 两阶段提交协议的基本思想和内容 4.3.2 两阶段提交协议的通信结构 4.3.3 两阶段提交协议与故障恢复 4.3.1 两阶段提交协议的基本思想和内容 两阶段提交协议(Two-phase Commitment Protocal—2PC)既简单又精巧,它把本地原子性提交行为的效果扩展到分布式事务,保证了分布式事务提交的原子性,并在不损坏日志的情况下.实现快速故障恢复,提高分布式数据库系统的可靠性。 在两阶段提交协议中,把分布式事务的某一个代理(根代理)指定为协调者(coodinator),所有其他代理称为参与者(Participants)。只有协调者才有掌握提交或撤销事务的决定权,而其他参与者各自负责在其本地数据库中执行写操作,并向协调者提出撤销或提交子事务的意向。一般一个站点惟一地对应一个子事务,如果某一参与者与协调者在同一站点,虽然它们不需要使用网络来通信,但在处理时仍逻辑地认为它与协调者不在同一站点。 2PC保证分布式事务提交的原子性,这是通过坚持在分布式事务的结果生效以前,所有参与执行分布式事务的站点都同意提交而做到这一点. 图4.15描述了协调者和一个参与者之间的两阶段提交协议的活动 。图中椭圆形表示状态,虚线表示协调者和参与者之间的消息。虚线上的标号说明了消息的种类 . 2Pc把事务的提交过程分为两个阶段: 第一阶段是表决阶段,目的是形成一个共同的决定。 第二阶段是执行阶段,目的是实现这个决定.根据协调者的指令.参与者或者提交事务,或者撤销事务,并给协调者发送确认消息。此时,协调者在日志中写入一条事务结束记录并终止事务。 请注意协调者做出关于事务的全局终止决定的方式。该决定受两条规则支配,这两条规则合称为全局提交规则: 只要有一个参与者撤销
文档评论(0)