--初闻
最近朋友推荐了一个用于数据同步的产品,正好公司有这方面的需求,同时也有一些痛点没有解决,所以来体验下这个产品。
-------------------------------------------------文末有福利哦-----------------------------------------------------
简单说下公司业务:
公司有新旧两个系统,同时还都在用。在旧系统创建的数据总是不能及时同步到新系统,造成数据错误以及业务问题。
目前解决办法是使用Oracle的job进行同步,但是同步频率不能太高,否则占用资源会过多。
所以需要一款实时同步数据以及占用资源低,并且支持多个数据库互相同步的的解决方案。
--初识
1.“低代码”:
总体上不需要输入什么代码,全部可视化操作,并且支持拖拽操作。对于我这种不是很懂代码的很友好。调试代码真的很麻烦
2.“同步方式”:
该产品提供了三种方式,
- 全量迁移,然后紧接着增量迁移
- 仅增量同步,从指定时间点开始
- 仅增量同步,从当前时间开始
增量同步也很有特点
以下是各个数据库的采集增量数据的方式
- Oracle: 通过LogMiner 对redo log/archive log解析数据库日志
- SQLServer: 通过SQLServer自带的触发器方式获取数据库事件
- MySQL: 通过解析binlog方式来获取数据库事件
- MongoDB: 通过解析Oplog方式来获取数据库事件
- DB2: 通过解析DB2日志来获取数据库事件
- PostgreSQL: 通过解析日志方式来获取数据库事件
从介绍来看的话,这种方式占用资源不会很多,待会我们可以测试一下。
3.“数据校验”:
这个是很重要的,不能为了同步数据快而损失准确率。同时还有数据校验速度。
Tapdata 的校验数据类型包含以下:
- 行数校验
- 哈希校验
- 高级校验(自定义)
通过这几种方式的话,基本上可以检测出所有的异常。
根据官方提供的测试表明:对一个 5000 万行的表,只需要不到 2 分钟左右就可以完成一次全量校验。校验结果分析包括一致率,错误数据比对等。
从官方数据来看,速度也是可以的。越来越想试试了。
4.“容错机制”:
在自动化操作出现问题后,能否确保任务继续执行以及执行的结果好坏是判断容错机制的主要条件。
根据官方说法是:Tapdata 提供一下在部署上提供高可用机制以及在数据写入上提供幂等性操作来保证在错误状态下,任务可以持续运行并且数据可以获得最终一致。
由此可见,该产品的容错做的也不错。
--相知
看了这么多,不由得想测试一下,这个产品是否有说的那么好。
这边记录下我在安装时的经验。
1.Agent
该产品的运行依赖于Agent,我这边是在win server环境下安装的。Agent的主机是用来执行同步任务的,所以要确保能通源链接主机和目标链接主机。
1.创建agent
点击创建agent,然后点击部署。
点击部署之后会出来一个网页,选择属于你的系统
下载TapData Agent文件,我这边放到桌面的TapData文件夹内
之后使用CMD进入到该文件夹,然后复制图中的命令行,粘贴后回车。安装前需要安装JDK1.8版本,否则会报错。报错如下:提示没有需要安装java。
安装完java之后,执行命令。
如果已经安装过,则会提示:
重复安装输入“Y”即可。
提示下图就算是装好了。
或者
2.在控制台查看Agent安装情况
选中该实例,点击进入,如下图,显示安装的版本,IP,以及计算机的CPU和内存大小。
PS:但是看着有些许BUG,因为我已经部署完毕了,到那时还是显示待部署。
2.连接
用来连接数据库。
界面也是比较易上手的,点击创建,选择需要的数据库
我这边使用的虚拟机的IP,所以是不通的。
创建完毕后,可以进行测试,检查连接是否有效
3.任务
界面也是比较简洁,简单易上手。
1.选择选择源端与目标端连接
2.选择同步类型以及写入模式
我这边选择默认。
3.设置映射
需求不大的话,之后将左表完全更新到右表即可。
选择字段即可。
建议:
批量改表名的话,建议可以使用“正则表达式”来进行匹配,只有前缀和后缀显然满足不了大部分的需求。或者简单的字符替换(例如表“bossBill” ,将Bill替换为Reimbursement)。
3.任务运行监控
点击运行监控进入到页面。
一个可视化的页面,我非常喜欢左上角的这个类似思维脑图的页面,可以非常清晰的显示出数据流之间的关系。右侧的数据也是以图表的方式展示出来,非常清晰明了。
总结:
TapData的安装是非常简单的,一条命令即可完成,并且并没有遇到什么意料之外的问题。其次页面也是非常的简洁大方,没有什么多余的框框,操作简单,第一次使用也能很快上手,使用过某讯云的兄弟应该知道菜单有多杂,找个功能半天找不到。之后是数据同步体验,从功能上看满足大部分企业使用的,但是可以再进行一些需求的开发,毕竟这个是重点功能,例如我上文说的;其次是速度与准确率,由于使用的是官方提供的,数据量不是很大,所以感觉不是很深,后面我会以最贴近生产的环境使用服务器再测试一次,之后给出更客观的评价。同时还有自动生成文档和测试用例功能,这个也挺有意思,下次一起测试。
--福利时间
博友有兴趣的话也可以体验下,目前该公司提供有测试实例。按照本文步骤完成一次数据同步可以领取小爱音响、U盘、充电宝等礼品。
官方公众号
悄咪咪说一句,还有Kindle, Apple AirPods,机械键盘等礼品哦