一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
dbswitch工具提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。
使用BSD开源协议
建立源端数据库的连接 -> 建立目的断数据库的连接 -> 配置任务 -> 发布任务 -> 手动/系统调度执行任务 -> 查看调度记录 -> 数据目录查看数据结果
一句话,dbswitch工具提供源端数据库向目的端数据库的批量迁移同步功能,支持数据的全量和增量方式同步。包括:
支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。
支持基于正则表达式转换的表名与字段名映射转换。
基于JDBC的分批次读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。
支持有主键表的 增量变更同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量的性能尚需在生产环境验证)
└── dbswitch ├── dbswitch-common // dbswitch通用定义模块 ├── dbswitch-core // dbswitch迁移同步实现类 ├── dbswitch-product // dbswitch数据库方言 ├── dbswitch-product-mysql // -> mysql方言实现类 ├── dbswitch-product-oracle // -> oracle方言实现类 ├── dbswitch-product-sqlserver// -> sqlserver方言实现类 ├── dbswitch-product-postgres // -> postgres方言实现类 ├── dbswitch-product-dm // -> dm方言实现类 ├── dbswitch-product-kingbase // -> kingbase方言实现类 ├── dbswitch-product-oscar // -> oscar方言实现类 ├── dbswitch-product-gbase // -> gbase方言实现类 ├── dbswitch-product-mariadb // -> mariadb方言实现类 ├── dbswitch-product-openguass// -> openguass方言实现类 ├── dbswitch-product-db2 // -> db2方言实现类 ├── dbswitch-product-sybase // -> sybase方言实现类 ├── dbswitch-product-hive // -> hive方言实现类 ├── dbswitch-product-sqlite // -> sqlite方言实现类 ├── dbswitch-product-mongodb // -> mongodb方言实现类 ├── dbswitch-data // 工具入口模块,读取配置文件中的参数执行异构迁移同步 ├── dbswitch-admin // 在以上模块的基础上引入Quartz的调度服务与接口 ├── dbswitch-admin-ui // 基于Vue2的前段WEB交互页面 ├── dbswitch-dist // 基于maven-assembly-plugin插件的项目打包模块
本工具纯Java语言开发,代码中的依赖全部来自于开源项目。
Maven 仓库默认在国外, 国内使用难免很慢,可以更换为阿里云的仓库。参考教程:配置阿里云的仓库教程
更多内容请查看 README.md 文档。
(1) 当编译打包命令执行完成后,会在dbswitch/target/目录下生成dbswitch-relase-x.x.x.tar.gz的打包文件,将文件拷贝到已安装JRE的部署机器上解压即可。
(2) docker容器方式部署:
假设已经部署好的MySQL数据库地址为192.168.31.57,端口为3306,账号为test,密码为123456
docker run -d --name dbswitch \ -e MYSQLDB_HOST=192.168.31.57 \ -e MYSQLDB_PORT=3306 \ -e MYSQLDB_USERNAME=test \ -e MYSQLDB_PASSWORD='123456' \ -v /tmp:/tmp \ -p 9088:9088 \ registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest
(3) 基于docker-compose提供linux联网环境下的一键安装,安装命令见 发行版链接地址
文档详见: build-docker/install/README.md
dbswitch工具提供基于conf/config.yml配置的dbswitch-data模块启动方式和基于conf/application.yml的dbswitch-admin模块的WEB端使用方式;
更多内容请查看 README.md 文档。
评论