快照复制就是在某一时刻对出版数据进行一次“照相”,生成一个描述出版数据库中数据瞬时状态的静态文件,最后在规定时间将其复制到订购者数据库。
特点:
快照复制并不像
事务复制那样要不断地监视、跟踪在
出版
数据库中发生的数据变化,它所复制的内容不是 INSERT、 UPDATE、 DELETE 语句(事务复制的特征),也不是仅限于那些被修改数据(
合并复制的特征)。它实际上是对订购数据库进行一次阶段性的表刷新,把所有出版数据库中的数据从源数据库送至目标数据库,而不仅仅是那些发生了变化的数据。如果论文很大,那么要复制的数据就很多,因此对
网络资源需求较高,不仅要有较快的传输速度,而且要保证传输的可靠性。
快照复制是最为简单的一种
复制类型,能够在出版者和订购者之间保证事务的潜在一致性。快照复制通常使用在以下场合:不需要实时数据时,如在进行决策支持、查询静态表信息时;只读订购者(订购者不对出版数据进行修改),并且不需要最近的数据;使用立即更新订购者时对数据库的修改次数和数据量较少。
工作机制:
1、发布服务器,将要发布的数据库整个做一个快照,
2、订阅服务器的快照代理程序把发布服务器的快照读取过来,放在本地的快照文件夹内
3、订阅服务器的发布代理程序把快照文件夹中的快照发布到订阅服务器上。历史记录和快照记录在分发服务器中。
试用条件:
当符合以下一个或多个条件时,使用快照复制本身是最合适的:
1.很少更改数据。
2.在一段时间内允许具有相对发布服务器已过时的数据副本。
3.复制少量数据。
4.在短期内出现大量更改。
在数据更改量很大,但很少发生时,快照复制是最合适的。例如,如果某销售组织维护一个产品价格列表且这些价格每年要在固定时间进行一两次完全更新,那么建议在数据更改后复制完整的数据快照。对于给定的某些类型的数据,更频繁的快照可能也比较适合。例如,如果一天中在发布服务器上更新相对小的表,但可以接受一定的滞后时间,则可以在夜间以快照形式传递更改。
发布
服务器上快照复制的连续开销低于事务性复制的开销,因为不用跟踪增量更改。但是,如果要复制的数据集非常大,那么若要生成和应用快照,将需要使用大量资源。评估是否使用快照复制时,需要考虑整个数据集的大小以及数据的更改频率。