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秒)触发邮件、钉钉告警,确保第一时间了解异常情况
支持记录用户操作(如任务启停、配置修改),支持问题追溯与数据回滚
部署管理:
提供阿里云镜像源,支持支持Docker一键部署
支持集群高可用,可通过外部数据库(如MySQL)存储元数据,实现多节点协同
功能截图
同步预览

驱动管理

表映射

表字段映射

监控管理

插件管理

数据源支持
| .txt、 | |||
性能测试
全量同步

增量同步

压测明细

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
更新进度
1000+优质开源项目更新进度:432/1000。如需更多类型优质项目推荐,请在文章后留言。
开源地址&使用手册
点击下方公众号 回复 资源 获取!

评论区