数据库同步软件DBSync的设计与实现( 四 )


6、优缺点分析基于数据比较的设计思想 , 使得DBSync能够支持各种数据库之间的同步 , 支持异构同步 , 且简单易用 , 这些优点前文已有说明 , 不再赘述 。
另一个优点是非常稳定可靠 。因为同步任务是定期重复执行的 , 每次都会进行数据比较 , 所以即使偶尔发生网络故障、数据库宕机等 , 没问题都不大 , 故障排除后 , 它能照常继续工作 , 不会有什么遗漏 。不像事务日志模式 , 日志一旦损坏或丢失 , 就很麻烦 。
常言道 , 有得必有失 , 这种设计有2个弊端:
一是 , 只能同步数据 , 不能同步库结构、存储过程、触发器等 。所幸的是 , 如果需要修改库结构 , 往往也需要修改程序 , 这2者是相互配套的 , 是需要一起做的 , 所以 , 大部分情况下人工操作更合适 。
二是 , 由于需要扫描比较数据 , 如果数据量很大 , 同步速度会较慢 , 但这个可以通过增量范围限定、分类处理进行提速 。具体提速方法 , 请看用户手册第6章节 。实际测试结果表明:记录数为百万级的数据同步 , 能在数秒内完成扫描;千万级的 , 约1分钟完成;亿级的 , 约数分钟完成 。
 
结论:如果实时性要求很高 , 如毫秒级的快速同步 , DBSync无法胜任 。其它大部分数据同步场合 , 如系统对接、数据热备份、读写分离等 , DBSync是适用的 。




推荐阅读