目 录CONTENT

文章目录

异构数据库同步系统Db-Syncer开源部署全教程,企业效率提升10倍

简介

Db-Syncer是一款功能强大的开源异构数据库同步系统,支持MySQL、Oracle、SQL Server、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等多种数据源之间的增量和全量同步。系统内置实时监控、数据同步状态、性能指标、系统日志、性能预警等功能,支持插件式拓展,可通过插件自定义数据同步转换逻。

系统采用前后端分离架构设计,前端基于Bootstrap构建,后端采用SpringBoot实现,具备出色拓展能力,支持用户快速二次开发和功能。系统界面简洁直观,操作流畅,可私有化部署和跨平台使用(Windows、Linux、Mac),是企业快速搭建内部数据同步平台的最优选择。

DBSyncer开源异构数据库同步系统界面,支持MySQL、Oracle、ES等多源同步配置

系统特点

  • 组合驱动与数据同步:

    • 支持自定义库同步到库组合,关系型数据库与非关系型数据库之间可自由组合

    • 支持任意表之间的同步映射关系配置,满足复杂数据架构与异构数据整合场景

  • 实时监控:

    • 提供数据同步任务的实时监控能力,支持全量、增量同步运行状态可视化展示,帮助用户实时掌握同步情况

    • 支持查看同步结果、同步日志及系统日志,便于问题排查与运行审计

  • 插件化扩展:

    • 支持用户自定义转换插件,实现个性化的数据转换与同步逻辑,满足不同场景下数据同步的需求
星河同步系统架构图:支持Oracle、MySQL、PostgreSQL等异构数据库实时增量与全量同步

系统架构

架构图

开源异构数据库同步系统架构图,含CDC、DML复制与多源连接器支持

项目结构

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)存储元数据,实现多节点协同


功能截图

同步预览

DBSyncer开源异构数据库同步系统界面,支持MySQL、Oracle、ES等多源同步配置

驱动管理

DBSyncer开源异构数据库同步界面,展示MySQL与3305实例的增量及全量同步状态

表映射

DBSyncer增量同步测试界面:MySQL源表到目标表映射配置与高级参数设置

表字段映射

DBSyncer异构数据库同步配置界面,展示MySQL源表与目标表字段映射及高级过滤转换设置

监控管理

数据库同步系统监控面板:TPS 7218/秒,CPU与内存实时性能指标展示

插件管理

开源异构数据库同步系统配置界面,含MyPage插件与Oracle数据转换代码

数据源支持

连接器
数据源
目标源
支持版本(包含以下)
MySQL
5.7.19以上
Oracle
10g-19c
SqlServer
2008以上
PostgreSQL
9.5.25以上
ES
6.0.0-8.15.3
Kafka
2.10-0.9.0.0以上
File
.txt、
.unl
SQL

支持以上关系型数据库
Sqlite


后期计划
Redis



性能测试

全量同步

数据库同步性能对比表:Mac/Linux/Windows三平台1亿条数据同步耗时实测


增量同步

数据库同步工具性能对比表:Mac/Linux/Windows系统资源与TPS峰值数据


压测明细

DBSyncer异构数据库同步系统性能监控仪表盘,含TPS、CPU、内存及堆积数据指标

Mac平台

DBSyncer异构数据库同步测试界面:MySQL全量同步1000万条数据成功

Linux平台

MySQL数据库全量同步任务完成界面,显示100%进度与耗时37分52秒

Windows平台

异构数据库同步系统界面:MySQL到MySQL全量同步完成,1000万条数据耗时57秒

快速安装

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。如需更多类型优质项目推荐,请在文章后留言。


开源地址&使用手册

点击下方公众号  回复  资源  获取!

第287期仿百度文库的在线文库管理系统界面截图



0

评论区