Db-Syncer:一款功能强大的开源异构数据库同步系统,支持MySQL、Oracle、SQL Server、PostgreSQL等多种数据源之间的增量和全量同步
|
admin
2026年3月7日 7:36
本文热度 17
|
简介
Db-Syncer是一款功能强大的开源异构数据库同步系统,支持MySQL、Oracle、SQL Server、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等多种数据源之间的增量和全量同步。系统内置实时监控、数据同步状态、性能指标、系统日志、性能预警等功能,支持插件式拓展,可通过插件自定义数据同步转换逻。
系统采用前后端分离架构设计,前端基于Bootstrap构建,后端采用SpringBoot实现,具备出色拓展能力,支持用户快速二次开发和功能。系统界面简洁直观,操作流畅,可私有化部署和跨平台使用(Windows、Linux、Mac),是企业快速搭建内部数据同步平台的最优选择。

系统特点
支持自定义库同步到库组合,关系型数据库与非关系型数据库之间可自由组合
支持任意表之间的同步映射关系配置,满足复杂数据架构与异构数据整合场景
提供数据同步任务的实时监控能力,支持全量、增量同步运行状态可视化展示,帮助用户实时掌握同步情况
支持查看同步结果、同步日志及系统日志,便于问题排查与运行审计
- 支持用户自定义转换插件,实现个性化的数据转换与同步逻辑,满足不同场景下数据同步的需求

系统架构
架构图

项目结构
org.ghi
├── dbsyncer-biz //业务代码
│ └── checker // 配置检查器
│ └── impl // 配置实现
│ └── metric // 计量
├── dbsyncer-common //公共服务
│ └── event // 监听事件,全量增量任务回调,上下文加载完毕事件
│ └── scheduled // 定时服务
│ └── util // 工具类
├── dbsyncer-connector //连接器
│ └── database // 关系型数据库实现
│ └── ds // 简化版数据源实现
│ └── sqlbuilder // SQL生成器
│ └── schema // 提供字段schema转换实现
│ └── ConnectorFactory // 连接器工厂,管理连接器的生命周期,读写实现
├── dbsyncer-manager //控制器
│ └── puller // 管理全量和增量任务生命周期
│ └── template // 预加载配置服务,配置模板
│ └── ManagerFactory // 控制器工厂,基础服务,初始化配置和上下文参数
├── dbsyncer-parser //解析器
│ └── flush // 缓存执行器(通用,持久化,表)
│ └── logger // 采集日志
│ └── message // 消息通知服务
│ └── ParserFactory // 解析器工厂,解析配置model,获取连接器可用性,schema,生成执行命令,全量增量读写
├── dbsyncer-plugin //插件服务,通过SPI接口扩展业务转换实现
│ └── notify // 通知实现
│ └── service // 默认插件实现
│ └── PluginFactory // 插件工厂,管理插件生命周期
├── dbsyncer-sdk // 针对开发者提供扩展的SPI标准接口
│ └── spi // 扩展服务接口
├── dbsyncer-storage //存储服务
│ └── query // 查询条件表达式
│ └── support // 默认使用磁盘,推荐MySQL
├── dbsyncer-web //接口服务,前后端接口交互控制,认证,拦截器,计划扩展RPC服务
功能列表
全量同步:支持亿级数据的批量迁移,优化批处理提交策略提升吞吐量
增量同步:支持基于日志解析(如OracleRedoLog)实现实时捕获,将同步延迟控制在秒级
双向同步:支持A→B与B→A同时同步,内置冲突检测与解决策略,满足不同使用场景
支持自定义转换插件:可通过SPI机制上传JAR包,动态扩展字段映射、数据清洗逻辑,满足任意使用场景
内置事件监听插件:支持同步前、后置事件监听(如数据校验、通知触发),可自定义处理逻辑
内置实时监控面板:展示同步任务状态、TPS(每秒事务数)、延迟指标及错误日志等核心指标,方便用户实时掌握同步情况
支持性能预警:可配置阈值(如延迟>10秒)触发邮件、钉钉告警,确保第一时间了解异常情况
支持记录用户操作(如任务启停、配置修改),支持问题追溯与数据回滚
支持集群高可用,可通过外部数据库(如MySQL)存储元数据,实现多节点协同
功能截图
同步预览

驱动管理

表映射

表字段映射

监控管理

插件管理

数据源支持
性能测试
全量同步
增量同步
压测明细

Mac平台

Linux平台

Windows平台

快速安装
1、安装JDK 1.8
2、下载安装包x.x.x.zip(也可手动编译)
3、解压安装包,Window执行bin/startup.bat,Linux执行bin/startup.sh
4、打开浏览器访问:http://127.0.0.1:18686
5、账号和密码:admin/admin
手动编译流程
1、下载源码并解压
2、cd dbsyncer
3、chmod u+x build.sh
4、./build.sh
阅读原文:原文链接
该文章在 2026/3/9 10:03:51 编辑过