文章插图
简介DBSyncer是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景 。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等 。
特点组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
开发插件,自定义转化同步逻辑
应用场景连接器数据源目标源支持版本(包含以下)
Mysql ?? 5.7.19以上
Oracle ??Oracle 10gR2 -11g
SqlServer ??2008以上
PostgreSQL??9.5.25以上
ES ??6.0以上
Kafka开发中 ?2.10-0.9.0.0以上
File ??*.txt, *.unl
SQL ?支持以上关系型数据库
后期计划redis
安装配置
步骤
- 安装JDK 1.8(省略详细)
- 下载安装包DBSyncer-1.0.0-Beta.zip(也可手动编译)
- 解压安装包,Window执行bin/startup.bat,linux执行bin/startup.sh
- 打开浏览器访问:http://127.0.0.1:18686
- 账号和密码:admin/admin
- 增量同步配置(源库)
Dump Binlog二进制日志 。Master同步Slave, 创建IO线程读取数据,写入relaylog,基于消息订阅捕获增量数据 。修改my.ini文件,重启服务
#服务唯一IDOracleCDN注册订阅 。监听增删改事件,得到rowid,根据rowid执行SQL查询,得到变化数据 。
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
1、授予账号监听权限, 同时要求目标源表必须定义一个长度为18的varchar字段,通过接收rowid值实现增删改操作 。
grant change notification to 你的账号
2、账号必须是监听表的OWNER
SELECT OBJECT_ID, OBJECT_NAME, OWNER FROM ALL_OBJECTS WHERE OBJECT_TYPE = 'TABLE' AND OWNER='你的账号';
DCN账号
SqlServerSQL Server 2008提供了内建的方法变更数据捕获(Change Data Capture 即CDC)以实现异步跟踪用户表的数据修改 。
要求2008版本以上, 启动代理服务(Agent服务), 连接账号具有 sysadmin 固定服务器角色或 db_owner 固定数据库角色的成员身份 。对于所有其他用户,具有源表SELECT 权限;如果已定义捕获实例的访问控制角色,则还要求具有该数据库角色的成员身份 。
PostgreSQL通过复制流技术监听增量事件,基于内置插件pgoutput、test_decoding实现解析wal日志
修改postgresql.conf文件,重启服务
wal_level=logical
File监听文件修改时间得到变化文件,通过文件偏移量读取最新数据
监听文件实现方案
ES定时获取增量数据 。
账号具有访问权限 。
日志
建议Mysql、SqlServer、PostgreSQL都使用日志
文章插图
定时
文章插图
文章插图
?预览
文章插图
驱动管理
文章插图
驱动详情
文章插图
驱动表字段关系配置
文章插图
监控
文章插图
上传插件
设计
文章插图
架构图
开源地址https://gitee.com/ghi/dbsyncer
【开源:一款开源的数据同步中间件DBSyncer】
推荐阅读
- |20条十分重要的职场「潜规则」,没人会主动告诉你
- |领导安排我安排同级别同事的工作,但同事不听我的,怎么办?
- 请你想一想为什么狐狸的诡计能得逞 狐为什么会给人留下诡计多端的印象
- 为什么是李治继位 李治怎么登上皇位的
- 马尔代夫属于哪个国家的景点 马尔代夫属于哪个国家
- 秋冬天吃羊肉的好处 冬天吃羊肉好处有哪些
- 得物上的东西是正品吗口红 得物上的东西是正品吗
- 压缩包里的文件保存后在哪里i伤 压缩包里的文件保存后在哪里
- 古时候中国的十个别称 中国的别称有哪些
- 5种常见的高纤维食物 膳食纤维的食物有哪些