〔从零搭建〕数据库同步平台部署指南

130 阅读8分钟

🔥🔥 AllData大数据产品是可定义数据中台,以数据平台为底座,以数据中台为桥梁,以机器学习平台为中层框架,以大模型应用为上游产品,提供全链路数字化解决方案。

✨杭州奥零数据科技官网:www.aolingdata.com

✨Github项目:github.com/alldatacent…

✨Gitee项目:gitee.com/alldatacent…

✨AllData官方手册:www.yuque.com/aolingdata/…

✨AllData正式环境:http://43.138.156.44:5173/ui_moat

摘要:DBSwitch是款开源数据库迁移工具,支持多种主流及国产数据库间的全量与增量迁移,涵盖表结构同步与数据同步。文章内容主要为以下四部分:

一、在线演示环境

二、功能简介

三、源码编译部署安装

四、访问大模型应用开发平台页面

在线演示环境.jpg

🔹AllData数据中台线上正式环境:http://43.138.156.44:5173/ui_moat/

请联系市场总监获取账号密码

 数据库同步平台(公众号).jpg

数据库同步平台功能简介.jpg 一、数据库同步平台基于开源项目DBSwitch建设

DBSwitch是款开源数据库迁移工具,支持多种主流及国产数据库间的全量与增量迁移,涵盖表结构同步与数据同步,采用模块化设计,具备高扩展性与灵活性,可保障数据迁移与访问的高效稳定,降低企业多数据库汇聚入湖仓成本,提升系统兼容性与可扩展性。

🔹DBSwitch开源项目: gitee.com/inrgihc/dbs…

二、数据库同步平台功能特点:

  • 全场景数据同步能力
  • 深度表结构适配
  • 智能任务调度与运维
  • 国产数据库与中间件生态
  • 企业级安全与扩展性
  • 高性能与稳定性

三、数据库同步平台功能技术特点:

DBSwitch以“全场景同步+深度适配+智能运维”为核心,覆盖从结构化数据迁移到国产数据库生态整合的完整需求,为企业提供高效、安全、可扩展的数据同步解决方案。

DBSwitch工具提供源端数据库向目的端数据库的离线批量迁移同步功能,支持数据的全量/增量/变化量方式同步。

3.1 结构迁移

支持字段类型、主键信息、建表语句等的转换,并生成建表SQL语句;

支持基于正则表达式转换的表名与字段名映射转换。

3.2 数据同步

🔹全量迁移: 基于JDBC的分批次离线读取源端数据库数据;

并基于insert/copy方式将数据分批次写入目的数据库。

🔹增量同步: 支持指定增量标识字段的增量同步(适用于日志表等存在增量标识字段的同步场景);

支持有主键表的 变化量同步 (变化数据计算Change Data Calculate)功能(千万级以上数据量的性能尚需在生产环境验证)。

🔹定时调度: 内置 CronJob 定时任务引擎,支持手动触发或自动化调度,满足周期性数据同步场景。

3.3 多数据库支持: 覆盖RDBMS/Olap数据库:MySQL、Oracle、SQL Server、PostgreSql、DB2、Sybase、Hive、Sqlite3、ClickHouse、MongoDB、ElasticSearch、StarRocks、GreenPlum、Doris、TDEngine 等主流数据库。

支持国产数据库:达梦数据库,人大金仓数据库,神通数据库,南大通用数据库,瀚高数据库,Gauss数据库, OceanBase数据库。

多数据库支持.jpg 🔹高效数据写入: 通过二进制协议与批量操作优化写入性能,减少网络与 I/O 开销。

🔹灵活扩展性: 模块化设计支持快速适配新数据库或定制功能,如新增方言实现或写入优化。

源码编译部署安装.jpg

💡部署步骤: 流程.jpg

一、环境准备 --跨平台兼容性保障

1.1 基础环境要求: 操作系统: 支持Linux(CentOS/Ubuntu)和Windows Server,需配置JDK 1.8+、Maven 3.6.3+(兼容JDK 17)及Git。

数据库驱动: 预置Oracle、MySQL、PostgreSQL、SQL Server等主流数据库的JDBC驱动包,商业版需集成达梦、GaussDB等国产数据库驱动。

网络配置: 开放管理端口(默认9088)及数据库连接端口,配置防火墙规则允许跨库访问。

1.2 环境优化建议:

Maven镜像加速: 修改settings.xml使用阿里云镜像,缩短依赖下载时间。

Docker容器化: 提供预构建镜像(如registry.cn-hangzhou.aliyuncs.com/inrgihc/dbswitch:1.9.7),支持快速部署测试环境。

二、源码编译部署获取安装包 carbon-1.png

三、版本管理策略

标签管理: 使用git tag标记稳定版本(如v2.0.1),避免直接基于master分支开发。

子模块集成: 若需扩展CDC(变更数据捕获)功能,可引入Debezium子模块实现实时同步。

四、编译构建 --自动化与定制化

4.1 标准编译流程:

Linux/macOS: carbon-2.png

Windows:双击build.cmd脚本,生成target/dbswitch-release-x.x.x.tar.gz。

4.2 商业版增强构建:

Profile配置:

通过-Pcommercial参数激活企业级模块,例如 carbon-3.png

插件扩展:

集成AllData中台的自定义插件(如数据质量校验插件),在pom.xml中添加依赖: carbon-4.png

五、部署级运行配置 --高可用与安全

5.1 解压部署:

Linux: carbon-5.png

Windows: 解压至D:\alldata\,运行startup.cmd。

5.2 核心配置文件:

conf/config.yml(推荐YAML格式): carbon-6.png

5.3 高可用方案:

集群部署:通过Nginx负载均衡多台DBSwitch实例,配置健康检查: carbon-7.png

5.4 高可用部署:

集群模式:通过Nginx负载均衡(配置示例):

数据持久化:将任务调度记录存储至Redis集群,避免单点故障。

carbon-8.png

六、可选配置 --性能优化与功能扩展

6.1 数据转换规则:

字段映射:通过正则表达式转换表名/字段名,例如:

carbon-9.png

数据脱敏:集成AllData中台的脱敏算法,对敏感字段(如身份证号)进行SHA-256哈希处理。

6.2 监控与告警:

Prometheus集成: 暴露/actuator/prometheus端点,监控任务执行耗时、错误率等指标。

企业微信告警:通过Webhook推送同步失败通知,配置示例:

carbon-10.png

6.3 多租户支持:

动态数据源: 基于Spring Cloud Config实现租户级配置隔离,每个租户拥有独立的数据库连接池。

权限控制: 集成Spring Security OAuth2,按租户角色分配任务管理权限。

七、验证与调优

7.1. 功能验证 全量同步测试: 迁移10GB级MySQL表至PostgreSQL,验证数据一致性(通过CHECKSUM TABLE命令)。

增量同步测试: 模拟源库数据变更,检查目标库是否实时更新。

7.2. 性能调优 并行度调整: 修改task.parallel-threads参数(默认4)以充分利用CPU资源。

批量大小优化: 根据网络带宽调整batch-size(建议1000-5000行/批)。

访问数据库同步平台页面.jpg

1、数据库同步平台-系统概览

可一键呈现多数据库连接状态、迁移任务进度及系统资源占用等关键信息 1_系统概览.jpg

2、数据源

支持多类型数据库接入,可便捷配置管理,保障数据稳定高效同步 2_数据源.jpg

3、数据源-测试 3_数据源-测试.jpg

4、数据源-编辑 4_数据源-编辑.jpg

5、数据源-编辑-更新 5_数据源-编辑-更新.jpg

6、数据源-详情 6_数据源-详情.jpg

7、数据源-详情测试成功 7_数据源-详情测试成功.jpg

8、数据源-创建数据源

支持多类型数据库参数配置,一键快速接入,实现高效数据交互 8_数据源-创建数据源.jpg

9、驱动配置

可灵活管理多数据库驱动,支持上传、加载与更新,保障连接稳定 9_驱动配置.jpg

10、驱动配置-添加 10_驱动配置-添加.jpg

11、数据导航-元数据-基本信息

可直观展示表结构、字段等核心信息,助力数据管理 11_数据导航-元数据-基本信息.jpg

12、数据导航-元数据-字段信息

数据导航的元数据字段信息功能,能清晰呈现字段名称、类型、长度等详情,辅助精准掌握数据特征 12_数据导航-元数据-字段信息.jpg

13、数据导航-元数据-索引信息

可快速检索不同数据源的索引详情,展示索引结构、关联字段等关键信息,助力高效管理数据索引,优化数据查询性能 13_数据导航-元数据-索引信息.jpg

14、数据导航-元数据-取样信息

可按需抽取数据样本,展示字段值分布等关键信息,辅助用户快速了解数据特征与质量情况 14_数据导航-元数据-取样信息.jpg

15、数据导航-SQL在线

SQL在线功能支持多数据源的SQL查询与执行,提供语法高亮、自动补全及结果可视化展示,助力用户高效完成数据探索与分析任务 15_数据导航-SQL在线.jpg

16、任务管理

支持多类型数据库同步任务的创建、配置与调度,提供任务状态监控、执行日志查看及异常告警,助力用户高效管理数据同步流程,保障数据迁移的稳定性和可靠性 16_任务管理.jpg

17、任务管理-日志 17_任务管理-日志.jpg

18、任务管理-启动 18_任务管理-启动jpg.jpg

19、任务管理-执行成功 19_任务管理-执行成功.jpg

20、任务管理-详情 20_任务管理-详情.jpg

21、任务管理-创建任务-基本信息配置 21_任务管理-创建任务-基本信息配置.jpg

22、任务管理-创建任务-同步源端配置 22_任务管理-创建任务-同步源端配置.jpg

23、任务管理-创建任务-目标端配置 23_任务管理-创建任务-目标端配置.jpg

24、支持切换同步模式,同步表结构/表+数据/仅数据同步 24、支持切换同步模式,同步表结构:表+数据:仅数据同步.png

25、任务管理-创建任务-映射转换配置 24_任务管理-创建任务-映射转换配置.jpg

26、任务管理-创建任务-配置确认提交 25_任务管理-创建任务-配置确认提交.jpg

27、监控调度

可实时监控数据源连接状态与任务执行情况,支持定时调度与依赖调度,确保数据同步任务按计划稳定运行,并提供异常告警与日志记录,助力高效运维 26_监控调度.jpg

28、监控调度-查看日志详情 27_监控调度-查看日志详情.jpg

29、操作日志

操作日志功能可完整记录数据同步任务执行过程中的关键操作,包括任务启动、停止、异常等状态变更,助力用户实时监控任务进度,快速定位并解决潜在问题 28_操作日志.jpg