在初始化snapshot之后,一旦有数据修改,subscriber会从publisher收到实时的数据同步,事务一致性也能保证。
事务类型的replication主要用于:
单向同步。
服务器-服务器这样的环境。
订阅端数据增量同步。
实时或低延时。
快照
定时对数据库进行快照并同步。
适用场景:
单向同步。
对实时性没有要求。
数据同步量较大,因此带宽适用很大。
mid-night做数据同步。
归并
订阅者和发布者定时同步并合并数据。
适用场景:
(1个或多个)客户端-服务器环境的数据同步。
离线模式的(若干)客户端数据与数据库进行同步(一旦连上网络环境)。
数据Merge操作产生的冲突由Snapshot Agent和Merge Agent解决,需要配置rule。
总结: 项目中事务类的数据同步使用较多;快照类在一些业务场景非常有用,做选择时还是要根据具体业务而定;需要注意的是在使用Merge同步时,数据冲突时如何解决,最好分析一下哪些列可能会出现同步,这样在定义rule时才能考虑全面。