SQL Server数据库实用技术(106)
时间:2007-11-09 来源:不详 作者:迈克DB
16.1.4 复制数据的一致性
在分布式应用环境中事务处理除了满足事务的ACID 要求外,还必须满足数据的一致 性要求。在复制环境下的复制数据的一致性主要有两种类型:
事务的一致性(Transactional consistency)
数据的集中性(Data convergence)
(1) 事务的一致性(Transactional consistency)
在复制环境下,事务的一致性主要是指所有参与复制的节点在复制结束后都必须具有 相同的数据结果集,有如发生在所有节点上的所有的事务在每个节点都被逐一地执行了一 次在SQL Server 中对于复制数据而言有两种级别事务一致性:立即事务一致性(Immediate transactional consistency)、 潜在事务一致性(Latent transactional consistency)
立即事务一致性
立即事务一致性保证所有参于复制事务的节点在任一时刻都有完全相同的数据。在 SQL Server 中通过在所有参与事务处理的节点间使用两阶段提交协议,从而能够在分布 式应用环境下实现事务的一致性。所有节点必须同时提交事务或都不提交事务,事务在任 何一节点提交失败都会导致整个事务在所有节点上都要回滚。很明显这种较为“苛刻”的 事务一致性并不适合有大量节点参与的事务处理,因为网络传输并不可靠而且性能也不稳 定。所以在复制时保证事务的立即一致性就是要求出版数据库和订购数据库必须保持数据 的瞬时同步。 本文来自织梦
潜在事务一致性
潜在的事务一致性允许数据在出版数据库和订购数据库之间保持异步的一致,即在出 版物发生变化后,经过一定的延时后才将出版物的变化反映到订购者那里。事务在订购者 上提交成功与否并不影响出版者的事务处理。如果出版数据库不再发生新的数据变化,那 么在经过一定的时间间隔后,所有节点都将具有相同的数据结果集。另外,潜在的事务一 致性要求最终的同步数据包含某个站点所做的全部修改,即它要么是节点A 执行完一个 或多个事务后的数据状态,要么是节点B 执行完事务后的数据状态。
立即事务一致性和潜在事务一致性的差别在于:立即事务一致性要求数据立即同步, 而不允许在出版者(源服务器)所发生的数据变化在复制到订购者(目的服务器)之前有 一段等待时间。在SQL Server 中,无论是事务复制,还是快照复制都不要求保证复制立 即事务一致性。事务复制与快照复制相比只是缩短了数据分发出去的等待时间,本质上属 于潜在的事务一致性。
(2) 数据的集中性(Data convergence)
在复制环境下,数据的集中性是指所有节点最终具有相同的数据结果。但与事务一致 性不同,这里的数据结果可能并不包含某个节点所有事务都被执行后的结果。
合并复制强调的就是数据的集中和节点的自主性而不是事务的一致性。在合并复制 中,所有节点通常并不一定要互连,更多地是以离线的方式对数据自由处理,只是在合并 后才最终保证数据的同步。但有时即使在合并后,某一节点所进行的事务处理结果也并不 全都反映到其它节点,因为在合并时仍可能存在一些节点处于离线工作状态。
织梦好,好织梦
16.1.5 同步模式
所谓同步就是指使出版者出版物内的数据和描述文件与订购者的复制保持一致。
(1) 手工同步
当创建订购时,您可以在订购者手动装入初始快照文件而不是通过网络,这被称为“手 工同步”。如果出版物较大,那么从磁带或其它存储介质来装入快照文件进行手工同步将 大大提高效率。例如数据库有几十个GB, 那么将数据库下载到磁带,再重新装入订购者 数据库,这样将比通过传输速度较慢且不十分可靠的
文章评论
共有位Admini5网友发表了评论 查看完整内容