DBSyncer

🔄 一款开源的数据同步中间件,让数据同步变得简单高效。

简介

DBSyncer(简称 dbs,发音:英 [dbsɪŋkɜː(r)] / 美 [dbsɪŋkɜː(r)])是一款开源的数据同步中间件,提供 MySQL、Oracle、SQL Server、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL 等多种数据源的同步场景。

  • 🔌 支持上传插件自定义同步转换业务

  • 📊 提供监控全量和增量数据统计图

  • ⚠️ 应用性能预警


核心特点

特点说明
组合驱动自定义库同步到库组合,关系型数据库与非关系型之间任意搭配表同步映射关系
实时监控驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
开发插件自定义转化同步逻辑,满足个性化业务需求

应用场景

支持丰富的数据源连接器,覆盖主流数据库和中间件:

连接器数据源目标源支持版本
MySQL5.7.19 以上
Oracle10g - 19c
SQL Server2008 以上
PostgreSQL9.5.25 以上
SQLite2 以上
Elasticsearch(ES)6.0.0 - 8.15.3
Kafka2.10 - 0.9.0.0 以上
File*.txt, *.unl
HTTP-
SQL-支持以上关系型数据库
Redis🚧-后期计划

性能测试

全量同步

系统机器配置数据量耗时
MacApple M3 Pro 12核心 / 18GB 内存1 亿条31 分 50 秒
LinuxIntel Xeon E5-2696 v3B 8核心 / 48GB 内存1 亿条37 分 52 秒
WindowsAMD Ryzen 7 5800X 8核心 / 12GB 内存1 亿条57 分 43 秒

增量同步

系统机器配置分配内存TPS峰值
MacApple M3 Pro 12核心 / 18GB 内存4GB8,112/秒11,000/秒
LinuxIntel Xeon E5-2696 v3B 8核心 / 48GB 内存4GB8,000/秒10,000/秒
WindowsAMD Ryzen 7 5800X 8核心 / 12GB 内存4GB7,553/秒9,000/秒

快速开始

方式一:下载安装包

  1. 安装 JDK 1.8

  2. 下载安装包 dbsyncer-x.x.x.zip(也可手动编译)

  3. 解压安装包:

    • Windows:执行 bin/startup.bat

    • Linux:执行 bin/startup.sh

  4. 打开浏览器访问:127.0.0.1:18686

  5. 默认账号密码:admin / admin

方式二:Docker 部署

# 拉取社区版镜像
docker pull scxhtb-registry.cn-hangzhou.cr.aliyuncs.com/xhtb/dbsyncer:latest

# 运行容器
docker run -d \ 
  --name=dbsyncer \ 
  --restart=unless-stopped \ 
  -p 18686:18686 \ 
  -e TZ="Asia/Shanghai" \ 
  -m 5g \ 
  --memory-swap=5g \ 
  -v /opt/dbsyncer/data:/app/dbsyncer/data \ 
  -v /opt/dbsyncer/logs:/app/dbsyncer/logs \ 
  -v /opt/dbsyncer/plugins:/app/dbsyncer/plugins \ 
  --log-driver json-file \ 
  --log-opt max-size=100m \ 
  --log-opt max-file=7 \ 
  scxhtb-registry.cn-hangzhou.cr.aliyuncs.com/xhtb/dbsyncer:latest

常用 Docker 命令:

# 查看本地日志
ls -la /opt/dbsyncer/logs

# 查看容器日志
docker logs --tail 20 dbsyncer

# 实时日志(Ctrl+C 退出)
docker logs -f dbsyncer

# 进入容器内部
docker exec -it dbsyncer /bin/bash

# 容器管理
docker stop dbsyncer    # 停止
docker start dbsyncer   # 启动
docker restart dbsyncer # 重启
docker rm dbsyncer      # 删除(需先停止)

手动编译

确保环境已安装 JDK 和 Maven
$ git clone https://gitee.com/ghi/dbsyncer.git
$ cd dbsyncer
$ chmod u+x build.sh
$ ./build.sh

常见问题

问题解决方案
MySQL 无法连接默认驱动版本为 8.0.21,MySQL 5.x 需手动替换为 mysql-connector-java-5.1.40.jar
SQL Server 无法连接驱动程序 SSL 加密问题,需调整 TLS 协议版本配置
同步数据乱码MySQL8 表导入 SQL Server 2008 R2 后,检查 nvarchar 字段编码
远程 Debug参考 Wiki 文档开启远程调试模式

项目地址


贡献与支持

DBS 团队目标:坚持开源,让每一个用户都能轻松完成数据同步!
  • 💬 QQ 群讨论: 875519623

  • 📝 提交 Issue: 欢迎提需求和建议,详细描述原始需求,团队会提供方案支持

  • 🤝 内推项目: 推荐到公司建立长期商业合作,提供专业技术服务

  • 💻 参与开发: 项目成员涵盖不同专业方向,欢迎加入团队


许可证

Apache License 2.0

Copyright © DBSyncer Team

作者:zws  创建时间:2026-05-05 15:50
最后编辑:zws  更新时间:2026-06-06 22:06
上一篇:
下一篇: