网站首页 > 技术文章 正文
简介
DBSyncer是一款开源的数据同步中间件,提供Mysql、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。
特点
组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
开发插件,自定义转化同步逻辑
应用场景
连接器数据源目标源支持版本(包含以下)
Mysql 5.7.19以上
Oracle Oracle 10gR2 -11g
SqlServer 2008以上
PostgreSQL9.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
- 增量同步配置(源库)
Mysql
Dump Binlog二进制日志。Master同步Slave, 创建IO线程读取数据,写入relaylog,基于消息订阅捕获增量数据。
修改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
Oracle
CDN注册订阅。监听增删改事件,得到rowid,根据rowid执行SQL查询,得到变化数据。
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账号
SqlServer
SQL 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
- 上一篇: 计算机存储之数据一致性
- 下一篇: 黄远邦:应对7月1日闰秒对Oracle数据库影响
猜你喜欢
- 2025-08-03 OpenAI 和 Oracle 承诺为 Stargate Network 扩展 4.5 GW 数据中心
- 2025-08-03 异构跨库数据同步还在用Datax?来看看这几个开源的同步方案
- 2025-08-03 黄远邦:应对7月1日闰秒对Oracle数据库影响
- 2025-08-03 计算机存储之数据一致性
- 2025-08-03 OGG同步10PB数据到Kafka不停库?全量+增量...
- 2025-08-03 【推荐】一款开源免费、功能强大的数据同步工具,支持多种数据源
- 2024-11-01 Canal数据同步实战 数据同步工具有哪些
- 2024-11-01 支持断点续传的数据库同步服务 断点续传需要服务器支持吗
- 2024-11-01 Oracle OGG 单向DDL同步 oracle ogg双向同步
- 2024-11-01 数据同步组件(Canal)在珍爱网的应用与实践
你 发表评论:
欢迎- 644℃几个Oracle空值处理函数 oracle处理null值的函数
- 634℃Oracle分析函数之Lag和Lead()使用
- 628℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 625℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 620℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 608℃【数据统计分析】详解Oracle分组函数之CUBE
- 599℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 584℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)