数据同步这点事,SyncNavigator数据库同步软件

WWW.SyncNavigator.CN    数据同步的软件

SyncNavigator是一款专门用于SqlServer、Mysql数据同步的软件,由国内顶级开发团队开发完成,经历8年逐步完善,目前具备强大的数据同步功能,国内很多大型连锁超市,企业,公司都在用SyncNavigator数据同步软件进行着数据同步服务。

它可以为我们提供智能化数据同步,对您重要的数据库进行实时同步操作,也可以设置定时任务传输,即使您的来源数据库和目标数据库版本不一样,表结构不一样,甚至是字段不一样,SyncNavigator也可以轻松帮您实现高效传输同步。

如果来源数据库和目标数据库表结构,字段一样,那么全部保持默认设置即可,如果是异构数据库,只需要动动鼠标,轻松绑定来源数据库表名和字段,一一匹配,就能完成异构数据库实时同步。

SyncNavigator可将数据库同步到不同版本的数据库上,无论你的数据库是SqlServer 2000、还是SqlServer2008,还是SqlServer2014等,或者Mysql ,SyncNavigator都能轻松在他们之间无缝同步。

SyncNavigator数据库同步软件支持断点续传同步功能,第一次安装配置好基本参数之后,就完全不用管,系统会在后台执行,开关机也不影响数据同步,系统会在下次联网的时候继续上次未完成的作业,在数据库同步的过程中出现故障,也能继续同步数据库,并确保数据完整性。

SyncNavigator同步是采用增量数据完成的,所以同步效率很高,每次只同步新数据或者新修改的数据,实时同步基本响应速度是毫秒级的,能迅速将源数据库产生的新数据,或者修改的数据同步到目标数据库上,确保数据完整性。

SyncNavigator有完善的日志、报告邮件发送功能,能保留每一步同步的步骤,供用户查阅,邮件提醒功能能实时提醒传输进度。

SyncNavigator数据库传输工具可以设置每张表的传输顺序,以免有些表对别的边的依赖性,先传输导致错误。

SyncNavigator数据库传输工具可以设置传输开始或者结束后运行指定脚本或者代码,能实现复杂的交互功能,让用户更灵活的实现自己需求。

支持分布式数据同步,可以把多个数据库数据传输过来进行整合,也可以同时执行多个传输进程。

功能特色
SyncNavigator数据库同步软件特点:
1.能够快速,持续,稳定的同步所需数据库数据。在来源数据库数据增加,修改或者删除后自动同步到目标数据库。
2.完整支持 Microsoft SQL Server。完整支持 Microsoft SQL Server 2000 2005 2008 2012 2014数据库类型。并能在不同数据库版本之间相互稳定高效同步数据,而不会出现问题。
3.完美支持 Mysql 4.1 以上版本。支持 Mysql 4.1 5.0 5.1 5.4 5.5   6.X。并能在不同数据库版本之间相互同步数据,也可以将SqlServer 数据库和Mysql数据库之间进行同步,支持同构,异构数据库同步。
4.只需要创建一个运行计划就能在指定时间自动进行数据库同步。轻松管理同步时间以及频率,可以按天,或者按周,实时同步等,轻松设置,一键无忧。
5.不编写SQL语句,不使用数据库管理工具。与同类产品相比所需数据库经验知识最少,傻瓜式的同步设置,大多数情况下只需要设置来源数据库地址,帐号密码,目标数据库地址,帐号密码,然后其他保持默认,点击开始同步,就能完美完成数据同步需求。

最近一段时间,在做数据ETL相关的事,结合实践以及自己的思考,记录下来,以做参考。

概述

 一般来说,数据团队自己是很少生产数据的,一般都是对业务线的数据进行分析加工,从而让数据产生价值。一方面,业务线的数据会存到关系数据(如mysql),磁盘(日志)等存储介质;另一方面,基于大数据的分析一般会将数据存储到hdfs,hbase,es。因此,不可避免地我们需要在这些不同的存储介质间同步数据。
从同步时效性来说,可以分为离线同步和实时同步。离线同步,相当于某个时候对源数据做一个快照。而实时同步,一般是通过监控源数据变更操作,通过在目标端实时重放操作,从而达到实时同步的目的(如通过Binlog,EditLog)。

离线同步

 离线数据同步目前已经有开源的实现,比较流行的主要是sqoop和datax,关于她们的历史,这里不做介绍。本文主要说一下使用sqoop和datax以及自研的一些实践。

背景

组里最原始的数据同步主要由以下部分组成:
1,用sqoop从mysql导入到hdfs。
2,用自研的工具从hdfs导出到mysql(至于为什么不用sqoop?主要是导出需要做一些ETL处理,sqoop不能满足需求)。
3,另一套自研的工具从分库mysql导出到hbase。
通过这个三个独立的系统,基本能够满足日常的数据同步需求。但是存在一些问题:
a, 工具太分散,好几套独立的系统不太好维护。
b, 扩展性很差,当初设计时,没有考虑考虑扩展性,字眼的系统嵌入到了调度系统,很难抽象出来,作为独立的服务。
c, 服务服务:告警监控不完善等。

改造

随着处理数据量以及任务的越来越大,越来越多,针对以上问题,决定基于开源的datax做深度定制。从而将数据同步服务统一起来。主要的改造点如下:
1,将导入导出服务统一到datax,包括对失败任务重试,删除增量删除等。
2,监控指标和日志统一接入数据平台。
3,数据质量处理:脏数据告警,默认的类型转换。
4,schema检验等。

实时同步

目标

实现可配置实时同步

设计

输入和输出变化很大,但是实时数据同步的核心却只有两个问题:
a, 数据不能丢失
b, 对数据乱序进行处理,不能出现旧的数据把新的数据覆盖了

设计思路主要基于以下两点:
1,针对不通的输入和输出,则必须和核心的处理单元进行解耦,因此源端和目标端因不同的系统,差异很大,所以提供各自的实现。但是必须通过定义好的接口和消息格式,实现统一。
2,核心处理引擎,主要基于storm,然后通过外部存储系统来保存中间状态。

小结

总的来说,基于datax改造还是蛮顺利的,简单有效。而基于实时同步系统的设计,可以说也借助了离线同步系统的开源设计思想,通过source和sink分离,核心引擎共享的设计来实现。目前两套系统已经成功上线,并且效果不错。

猜你喜欢

转载自blog.csdn.net/weixin_43668066/article/details/83961618