1、介绍
DBSyncer(英[dbsɪŋkɜː®],美[dbsɪŋkɜː® 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。
1.1、特点
- 组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
- 实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
- 开发插件,自定义转化同步逻辑
1.2、项目地址
- Gitee
- GitHub
1.3、应用场景
2、安装配置
2.1、环境准备
- 推荐机器配置:内存8GB,4core,磁盘60GB(建议上好点的SSD)
- 安装部署JDK,需要安装JDK8
- 下载 dbsyncer-2.0.4-bin.zip(社区版)
2.2、安装配置
下载:
wget https://gitee.com/ghi/dbsyncer/releases/download/v2.0.4/dbsyncer-2.0.4-bin.zip
解压、启动:
unzip dbsyncer-2.0.4-bin.zip
切换到bin目录下,执行脚本:
./startup.sh
如果是windows环境,直接启动 startup.bat 即可。
看到“Start successfully!”即启动成功
启动后的管理页面可以通过 http://ip:18686进行登录查看,默认管理账号密码为:admin/admin
2.3、数据迁移
2.3.1、准备工作
本次测试的是从Oracle迁移数据至MySQL,因此先在Oracle数据库中创建一张表及测试数据,在MySQL数据库中也创建一张表。
Oracle库:
CREATE TABLE test1(id int ,c1 varchar(20))INSERT INTO test1 values(1,'a');INSERT INTO test1 values(2,'b');commit;
MySQL库:
CREATE TABLE test1(id INT PRIMARY KEY ,c1 VARCHAR(20));
2.3.2、配置数据源
配置一个名为oracle1的数据源,对应填写连接信息、账号密码等,完成后保存即可。
如果保存时不报错,则说明连接添加成功,如果保存过程中有错误,则按照错误信息进行解决。
再配置一个MySQL数据源作为目标库,MySQL的连接URL里要注意库名的配置。
保存后即可在界面上看到对应的数据源。
2.3.3、配置迁移任务
这个版本点击“添加驱动”进行数据迁移任务的配置(建议修改名称,以免有误解)。
先选择源目数据源,并设置一个任务名称。
保存后进行相关表影射等配置,例如选择表名及目标表,对应的主键名等。
在高级配置中还可以进行其他的转换配置等。
任务配置完成后,可以在页面上看到同步列表。
2.3.4、启动任务
点击右上角的启动按钮即可启动本任务。
启动后会显示”运行中“的状态。
完成后会显示进度、耗时及成功数量。
去目标库中查看结果,可以发现数据已同步进MySQL,至此本次数据迁移完成。
2.4、小结
根据DBSyncer官方介绍,社区版的效率确实相对于专业版迁移效率差别很大,大家可以下载测试一下。另外,也可以配置大字段、大表,不同数据库的兼容配置、增量同步等进行更个方面的测试。