
ETL(Extract-Transform-Load)不仅是数据进入分析世界的“第一道门”,更是企业实现数据可信、一致、可用的核心引擎。它像一位高明的“数据厨师”:从杂乱无章的“原材料”中精准提取所需信息,剔除噪声与冗余,再按照业务逻辑进行精妙转换,最终将干净、结构化的数据“端上桌”——供BI报表、AI模型、实时决策系统高效调用。
支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句。
支持基于正则表达式转换的表名与字段名映射转换。
2、数据同步
基于JDBC的分批次离线读取源端数据库数据,并基于insert/copy方式将数据分批次写入目的数据库。
支持指定增量标识字段的增量同步(适用于日志表等存在增量标识字段的同步场景)
3、支持有主键表的 变化量同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量的性能尚需在生产环境验证)

1、编译打包
环境要求:
JDK:>=1.8 (建议用JDK 1.8)
maven:>=3.6
Maven 仓库默认在国外, 国内使用难免很慢,可以更换为阿里云的仓库。 参考教程: 配置阿里云的仓库教程
编译命令:
(1) windows下:
(2) Linux下:
git clone https://gitee.com/inrgihc/dbswitch.gitcd dbswitch/sh ./ build.sh
(3) Docker下:
git clone https://gitee.com/inrgihc/dbswitch.gitcd dbswitch/sh ./ docker-maven-build.sh
2、安装部署
(1) 当编译打包命令执行完成后,会在dbswitch/target/目录下生成 dbswitch-relase-x.x.x.tar.gz的打包文件,将文件拷贝到已安装JRE的部署机器上解压即可。
(2) docker容器方式部署:
H2做配置库部署
这里将宿主机的/tmp目录挂载到容器上:
docker run -d –name dbswitch -e DBTYPE=h2 -v /tmp:/tmp -p 9088:9088 \ registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest
MYSQL做配置库部署
假设已经部署好的MySQL(5.7+)数据库地址为192.168.31.57,端口为3306,账号为test,密码为123456
docker run -d –name dbswitch \ -e DBTYPE=mysql \ -e MYSQLDB_HOST=192.168.31.57 \
-e MYSQLDB_PORT=3306 \
-e MYSQLDB_USERNAME=test \
-e MYSQLDB_PASSWORD=’123456′ \
-e MYSQLDB_NAME=’dbswitch’ \ -v /tmp:/tmp \
-p 9088:9088 \
registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest
PostgreSQL/OpenGauss做配置库部署
假设已经部署好的PostgreSQL/OpenGauss数据库地址为192.168.31.57,端口为5432,账号为test,数据库为dbswitch(需先建好), 密码为123456
docker run -d –name dbswitch \
-e DBTYPE=postgres \
-e PGDB_HOST=192.168.31.57 \
-e PGDB_PORT=5432 \
-e PGDB_USERNAME=test \
-e PGDB_PASSWORD=’123456′ \
-e PGDB_NAME=’dbswitch’ \
-v /tmp:/tmp \
-p 9088:9088 \
registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:latest
(3) 基于docker-compose提供linux联网环境下的一键安装,x86的CentOS系统下安装命令如下:
curl -k -sSL https://gitee.com/dromara/dbswitch/attach_files/1946299/download -o /tmp/ dbs.sh && bash /tmp/db
WEB系统的访问如下:
URL地址: http://127.0.0.1:9088 登陆账号:admin 登陆密码:123456
Swagger在线接口地址: http://127.0.0.1:9088/swagger-ui/
注意:如果为服务器部署时,需要将127.0.0.1替换为服务器的IP地址。
WEB系统的使用流程为:
建立源端数据库的连接 -> 建立目的断数据库的连接 -> 配置任务 -> 发布任务 -> 手动/系统调度执行任务 -> 查看监控调度日志 -> 数据目录查看数据结果








