数据库同步中间件

AE86 9edf8f2869 !31 merge %!s(int64=4) %!d(string=hai) anos
dbsyncer-biz 1362a3a977 fix bug %!s(int64=4) %!d(string=hai) anos
dbsyncer-cache ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-cluster ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-common ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-connector ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-listener b6d56788ad 修复结果集已耗尽 %!s(int64=4) %!d(string=hai) anos
dbsyncer-manager ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-monitor ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-parser e15d8f57a1 修复无法序列化Blob日志 %!s(int64=4) %!d(string=hai) anos
dbsyncer-plugin ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-storage ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
dbsyncer-web e15d8f57a1 修复无法序列化Blob日志 %!s(int64=4) %!d(string=hai) anos
.gitignore 1cb24567f9 add plugins %!s(int64=4) %!d(string=hai) anos
LICENSE c8bef651e7 init %!s(int64=5) %!d(string=hai) anos
README.md b6d56788ad 修复结果集已耗尽 %!s(int64=4) %!d(string=hai) anos
build.cmd 00a103ca4d build cmd %!s(int64=4) %!d(string=hai) anos
build.sh 226b24b80f fix shell %!s(int64=4) %!d(string=hai) anos
pom.xml ddd4c75440 upgrade version %!s(int64=4) %!d(string=hai) anos
version.cmd 1cba69880e add cmd %!s(int64=4) %!d(string=hai) anos

README.md

介绍

DBSyncer是一款开源的数据同步软件,提供Mysql、Oracle、SqlServer、Redis、SQL结果集等场景,支持自定义同步转换业务。

特点

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

应用场景

Every point is a DataBase 目标源
全量 增量
mysql oracle mysql oracle
数据源 mysql
oracle
dql_mysql
dql_oracle
版本支持 Mysql 5.7.19以上
Oracle 10g以上(Oracle-9i未测试)
最近计划 结构化类型:(sql_server); 半结构化类型:(redis、kafka、es、postgrep)
长期计划 半结构化类型:(网页、日志、JSON、XML、Word); 非结构化类型:图片、图像、新闻消息

安装说明

准备

  1. DBSyncer-1.0.0-Alpha.zip(安装包)
  2. JRE 1.8 +

步骤

  1. 安装JRE1.8版本以上(省略详细)
  2. 下载安装包DBSyncer-X.X.X-RELEASE.zip
  3. 解压,进入目录bin,启动脚本startup.bat(Windows)/startup.sh(Linux)
  4. 打开浏览器,输入访问地址:http://127.0.0.1:18686
  5. 默认账号和密码:admin/admin

增量同步配置

类型 配置 原理

Mysql

开启Binlog功能,my.ini配置:

# 服务唯一ID

server_id=1

log-bin=mysql_bin

binlog-format=ROW

max_binlog_cache_size = 256M

max_binlog_size = 512M

expire_logs_days = 7

# 多个库使用英文逗号“,”拼接

replicate-do-db=test

Dump Binlog二进制日志。Master同步Slave, 创建IO线程读取数据,写入relaylog,基于消息订阅捕获增量数据。

Oracle

授予账号监听权限:

grant change notification to AE86

要求目标源表必须定义一个长度为18的varchar字段,用于接收rowid值,来实现增删改操作

CDN注册订阅。监听增删改事件,得到rowid,根据rowid执行SQL查询,得到变化数据

定时示例

Mysql增量示例

Oracle增量示例

预览

流程图

使用说明

驱动管理

  1. 创建一个连接器。选择数据源类型,比如:Mysql,填写配置,保存
  2. 添加驱动。配置数据源和目标源(数据源:数据的发送端,目标源:数据接收端),保存
  3. 模式支持全量同步(默认:全量复制)和增量同步(监听变化的数据)
  4. 基本配置里面,添加映射关系。添加数据源表同步到目标源表关系
  5. 单击映射关系,进入表字段详细页面,默认匹配相识字段,识别主键(主键用于增量同步,更新和删除使用),保存
  6. 高级配置省略
  7. 点击驱动右上角齿轮按钮,启动或删除
  8. 驱动面板下方显示同步的详细,如果有异常日志,点击日志可跳转至监控菜单查看详细

监控

  1. 查看驱动同步数据
  2. 查看系统性能指标
  3. 查看系统操作日志

其他

  1. 参数>修改系统参数
  2. 参数>修改管理员密码
  3. 注销

开发框架版本

  1. JDK - 1.8.0_40 (推荐版本及以上)
  2. Maven - 3.3.9
  3. Spring Boot - 2.1.8.RELEASE
  4. Bootstrap - 3.3.4

欢迎加群

QQ群: 875519623 或点击右侧按钮 数据同步dbsyncer