DBSyncer(英[dbsɪŋkɜː(r)],美[dbsɪŋkɜː(r) 简称dbs)是一款开源的数据同步中间件,提供MySQL、Oracle、SqlServer、PostgreSQL、Elasticsearch(ES)、Kafka、File、SQL等同步场景。支持上传插件自定义同步转换业务,提供监控全量和增量数据统计图、应用性能预警等。
特点
- 组合驱动,自定义库同步到库组合,关系型数据库与非关系型之间组合,任意搭配表同步映射关系
- 实时监控,驱动全量或增量实时同步运行状态、结果、同步日志和系统日志
- 开发插件,自定义转化同步逻辑
项目地址
连接器 | 数据源 | 目标源 | 支持版本(包含以下) |
---|---|---|---|
MySQL | ✔ | ✔ | 5.7.19以上 |
Oracle | ✔ | ✔ | 11g-19c |
SqlServer | ✔ | ✔ | 2008以上 |
PostgreSQL | ✔ | ✔ | 9.5.25以上 |
ES | ✔ | ✔ | 6.0以上 |
Kafka | 开发中 | ✔ | 2.10-0.9.0.0以上 |
File | ✔ | ✔ | *.txt, *.unl |
SQL | ✔ | 支持以上关系型数据库 | |
Sqlite | ✔ | ||
后期计划 | Redis |
- 安装JDK 1.8(省略详细)
- 下载安装包DBSyncer-1.0.0-RC.zip(也可手动编译)
- 解压安装包,Window执行bin/startup.bat,Linux执行bin/startup.sh
- 打开浏览器访问:http://127.0.0.1:18686
- 账号和密码:admin/admin
先确保环境已安装JDK和Maven
$ git clone https://gitee.com/ghi/dbsyncer.git
$ cd dbsyncer
$ chmod u+x build.sh
$ ./build.sh
类型 | 耗时 | 数据量 | 机器配置 |
---|---|---|---|
MySQL全量同步 | 202s | 1000w | MacBook Pro 2.4 GHz 四核Intel Core i5 16 GB 2133 MHz LPDDR3 |
- MySQL无法连接。默认使用的驱动版本为8.0.21,如果为mysql5.x需要手动替换驱动 mysql-connector-java-5.1.40.jar
- SQLServer无法连接。案例:驱动程序无法通过使用安全套接字层(SSL)加密与 SQL Server 建立安全连接。错误:“The server selected protocol version TLS10 is not accepted by client preferences [TLS12]”
- 同步数据乱码。案例:mysql8表导入sqlserver2008R2后,sqlserver表nvarchar字段内容为乱码
- 如何开启远程debug模式?
- QQ群: 875519623或点击右侧按钮
- 如有比较着急的需求或建议(想支持某版本的中间件,最好能描述清楚你的原始需求,作者会帮你提供一些建议方案),欢迎大家【新建issuses】!
- DBSyncer研发团队目标:取之社区,用于社区。为了能让项目得到可持续发展,我们期望获得更多的支持者!
- 内推项目 如您觉得项目不错,可推荐到公司,建立长期稳定的商业合作,提供更专业的技术服务。(入群联系群主)
- 参与开发 项目成员来自于不同公司,汇聚了不同专业的大佬,相信一定能找到您比较感兴趣的方向,欢迎加入团队!(入群联系群主)
- 扫赞赏码【捐赠者名单】 款项主要用于项目研发和推广,会定期通过线上活动,与大家一起讨论问题,随机回馈粉丝们一些礼物。