> 技术文档 > 玩转开源数据同步中间件Dbsyncer,这一篇就够了

玩转开源数据同步中间件Dbsyncer,这一篇就够了


一、什么是Dbsyncer

1、介绍

Dbsyncer是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景,支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。

2、特点

  • 组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
  • 实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
  • 开发插件,自定义转化同步逻辑

项目地址

GitHub    gitee

3、gitee应用场景

二、安装教程

1、环境准备

安装JDK1.8(此处省略)

2、下载安装DBSyncer

点击链接进入下载 —> DBSynce  下滑找到压缩包下载,下载后解压打开,如下图所示

注意此处我是使用的Windows使用的,Window执行startup.bat,Linux执行startup.sh

打开即可使用,无需进行配置文件,Windows上双击打开就是黑窗口,如图所示

此时即可打开网站使用,http://127.0.0.1:18686,账号密码都是admin,登录即可

至此安装已经结束,十分简单

3、案例--全量导入和定时增量导入

1、全量导入

第一次进入后如下图所示,什么都没有,点击添加链接

这里添加的是本地的MySQL数据库,url里面填写挑选自己有数据的库,设置好后直接点击保存即可无法连接会报错,看下url是否写错了,这个是原数据库,需要将这里面的数据导入到别的数据库

接下来仿照第一个配置需要接受的数据库(可以是同一个服务器上不同的库)

连接设置好后就可以添加驱动了,点击添加驱动后运行试验

点击启动就可以实现从将本地数据库的数据导出到别的服务器上,在下方可以看到运行状态

效果展示,我这边是生成了一百万条数据

目标数据库里没有数据

等待驱动运行完后,可以看到目标数据库也是同步有数据了,一百万条数据同步用时15秒

2、定时增量导入

这边为了方便演示就直接使用一个服务器的数据库演示,先添加连接

然后点击添加驱动,如图所示

在第四步下方可以设置定时时间,正则表达式如下

驱动保存好后点击启动后DBSyncer就会每隔5秒(自己设置的时间间隔)进行一次数据同步,同步在你启动后你在第一个表所做的增删改操作,定时任务要手动关闭,不关闭会一直执行。

效果展示,在t3做的操作会同步到t3_ord

再次提醒定时任务要手动关闭,不关闭会一直执行。

三、总结

        DBSyncer 在工作中扮演着“数据搬运工”和“数据桥梁”的角色。它自动化、高效、可靠地解决了各种异构数据源之间的数据流动问题,支撑了数据迁移、实时集成、数据分析、系统解耦、容灾备份等众多关键业务场景,是现代数据架构中不可或缺的基础设施之一。