KaiwuDB 数据迁移工具
产品概述
KaiwuDB 数据迁移工具(KaiwuDB Data Transformer,简称 KDTS)是基于 DataX 框架开发的企业级异构数据库迁移解决方案。该工具提供图形化操作界面,支持多种主流数据库到 KaiwuDB 的数据迁移和同步,帮助用户快速、安全地完成数据资产转移。
支持的数据源
KDTS 支持以下数据源到 KaiwuDB 3.x 的迁移:
- 关系数据库:MySQL、Oracle、PostgreSQL、ClickHouse、SQL Server
- 时序数据库:KaiwuDB、TDengine、InfluxDB、OpenTSDB
- NoSQL 数据库和文件系统:MongoDB、FTP、HDFS
核心功能
多样化迁移方式
KDTS 提供三种核心迁移模式,满足不同业务场景的需求:
- 结构迁移:自动读取源数据库的表结构信息,生成相应的 DDL 语句,在目标数据库中创建匹配的表结构。用户无需手动建表,大幅提升迁移效率。
- 数据迁移:在目标数据库表结构已存在的前提下,支持单表或多表的数据迁移。提供全量数据迁移和基于时间条件的增量数据迁移两种模式。
- 混合迁移:将结构迁移和数据迁移合并为一个流程,自动完成表结构创建和数据同步的全过程,实现一键式完整迁移。
灵活的迁移粒度
KDTS 支持多种迁移粒度,用户可根据实际业务需求灵活选择:
- 整库迁移:一次性迁移整个数据库中的所有表
- 多表迁移:选择性地迁移单个或多个指定的表
实时监控与报告
- 实时迁移进度监控:提供可视化迁移进度,实时掌握迁移执行情况
- 详细迁移报告生成:生成包含迁移概况、性能指标、异常信息的完整报告,便于后续分析
- 失败原因分析与定位:识别迁移失败原因,提供具体错误信息和解决建议,快速定位问题
迁移场景清单
下表展示不同源数据库到 KaiwuDB 可选择的迁移模式和迁移粒度:
| 数据库类型 | 源数据库 | 目标引擎 | 结构迁移 | 数据迁移 | 混合迁移 |
|---|---|---|---|---|---|
| 关系数据库 | MySQL | 关系 | 表/库 | 表/库 | 表/库 |
| 时序 | 表 | 表 | 表 | ||
| PostgreSQL | 关系 | 表/库 | 表/库 | 表/库 | |
| 时序 | 表 | 表 | 表 | ||
| Oracle | 关系 | 表/库 | 表/库 | 表/库 | |
| 时序 | 表 | 表 | 表 | ||
| ClickHouse | 关系/时序 | - | 表 | - | |
| SQL Server | 关系/时序 | - | 表 | - | |
| 时序数据库 | TDengine 2.x/3.x (< 3.3.3.0) | 关系/时序 | - | 表 | - |
| TDengine 3.3.3.0+ | 关系 | - | 表 | - | |
| 时序 | 表 | 表 | 表 | ||
| InfluxDB 1.x | 关系/时序 | - | 表 | - | |
| InfluxDB 2.x | 关系 | - | 表 | - | |
| 时序 | 表 | 表 | 表 | ||
| OpenTSDB | 关系/时序 | - | 表 | - | |
| KaiwuDB 2.x/3.x | 关系/时序 | - | 表 | - | |
| 其他数据源 | MongoDB | 关系/时序 | - | 表 | - |
| FTP | 关系/时序 | - | 表 | - | |
| HDFS | 关系/时序 | - | 表 | - |
数据处理说明
不同数据库的数据类型和处理机制存在差异。下表详细说明了 KDTS 处理各类数据库的方式和注意事项:
| 数据库 | 数据处理说明 |
|---|---|
| ClickHouse | - NULL 值迁移至 KaiwuDB 后会被处理为 false- 二进制类型数据迁移后以 \x+ 空字符串的形式显示 |
| MongoDB | - 不支持迁移 MongoDB 的 _id 系统字段 |
| OpenTSDB | - OpenTSDB 采用键值对数据模型,读取时数据以键值对形式呈现 - 支持自动转换 metric 名称:将句点( .)替换为下划线(_)作为 KaiwuDB 表名- 每张表包含 k_timestamp(时间戳)和 value(数值)两个标准列- 当目标表不存在时,支持自动创建表结构 |
| TDengine | - BOOL 类型的 null 值迁移后处理为 false- NCHAR 类型的 null 值迁移后显示为空字符串- 不支持 JSON 数据类型:如果表的标签列采用 JSON 格式,需要预先转换为其他支持的数据类型 |