背景
公司项目的数据想同步到局域网做数据分析,加上部署了主从数据进行读写分离!之前公司的DBA部署了主从分离(发布订阅的方案),加上做了容灾方案!但是容灾的数据不能访问数据!这就比较尴尬了!如果数据要存储多份的时候,为了保证数据的准备性,我们需要保证数据更新的同步性
想要实现的架构如图:
数据同步方式
1.全量同步:就是每天定时(避开业务高峰期)或者周期性全部把数据从一个地方拷贝到另一地方。(全部的数据)
2.增量同步:只需要去同步那些改动过,需要跟新的数据。增量的基础是全量,首先需要将全量数据拷贝过来,然后再采用增量方式同步更新。增量会抓取某个时刻(更新时间)或者检查点(checkpoint)以后的数据来同步。这里有个关键性的前提:副本一端要记录或知道(通过查询更新日志或者订阅更新)哪些数据更新了
各自的优缺点
增量:生成和接受方生成和处理数据逻辑复杂,时间一长容易造成数据不一致问题
1⃣️数据提供方,制作增量包很麻烦,所有的改动都要记录,稍微记错就全部完了
2⃣️数据接收方,更加增量包来实施更新的逻辑比较麻烦
3⃣️中间过程出现问题是很难定位的
全量:
1⃣️数据量太大,没有改动的数据也要同步
2⃣️生成方和消费方的逻辑比较简单,固定某一时刻导出重新生成所有的数据。于是对于全面性和准确方面需要很高的要求。
之前在网上找了一个叫SyncNavigator的软件,联系了客服,问客服每秒能同步多少条数据,客服说:200-300之间!这个同步级针对数据量比较大,如每小时产生10w级以上的数据的时候,没法做到每小时增量同步!
后台趴出一个专门做sqlserver的数据同步工具:DM+,能达到每秒10万级的:
*** 作如图:
1.配置数据库连接
2配置好链接后,打开sqlserver手动同步,选择要同步的源库和目标库,如下图。
主要功能有:
a.清除数据日志
b.全量同步:可调整每次同步的数量,集群,和表结构同步
c.增量同步:可以指定几天前的数据进行增量同步
d.多链接同步:允许将源库的数据同步至好几个目标库
c.可加入定时任务同步:有每N分钟同步,每周同步,每天指定时间同步
e.增加集群式同步:配置集群3-1,3-2,3-3 表示开启3个集群同步
如图的执行结果可以看出:同步130w耗时2分钟 ,其主要耗时在读数据上耗时较久,同步还是达到秒级,如果服务器的配置:cpu,内存够大甚至会更快
3.定时同步配置
软件:DM+ 邮箱:602392714@qq.com
本文转载:程序员的自我修养热衷分享编程精神的程序员网站 - w0.wiki
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)