当您的现有业务对数据库的并发读写、扩展性和可用性的要求较高,且需要使用复杂的检索或大数据分析时,如果原有数据库的数据架构不能满足现在的业务需求或改造成本较大,则您可以通过DataWorks数据集成服务将现有数据库中的数据迁移到Tablestore表中存储和使用。您还可以通过DataWorks数据集成服务实现表格存储表中数据的跨实例或者跨账号迁移以及将表格存储数据迁移到OSS或者MaxCompute中备份和使用。
应用场景
DataWorks数据集成是稳定高效、弹性伸缩的数据同步平台,适用于MySQL、Oracle、MaxCompute、Tablestore等多种异构数据源之间的数据迁移同步。
表格存储支持通过DataWorks数据集成实现的数据迁移场景包括将数据库数据迁移到表格存储、表格存储数据跨实例或者跨账号迁移同步和将表格存储数据迁移到OSS或者MaxCompute。
将数据库数据迁移到表格存储
DataWorks提供各种异构数据源之间稳定高效的数据同步功能,可以实现将多种数据库迁移到表格存储,如下图所示。
DataWorks支持的数据源与读写插件详情请参见DataWorks支持的数据源与读写插件。
表格存储数据跨实例或者跨账号迁移同步
通过在DataWorks中配置表格存储相关的Reader和Writer插件,即可以完成表格存储数据表或者时序表的数据复制,如下图所示。表格存储相关的插件说明请参见下表。
插件 | 说明 |
OTSReader | 用于读取表格存储表中的数据,并可以通过指定抽取数据范围实现数据增量抽取的需求。 |
OTSStreamReader | 用于增量导出表格存储表中的数据。 |
OTSWriter | 用于向表格存储中写入数据。 |
将表格存储数据迁移到OSS或者MaxCompute
表格存储数据支持迁移到OSS或者MaxCompute,请根据实际场景选择。
云原生大数据计算服务(MaxCompute)是一种快速、完全托管的TB/PB级数据仓库解决方案。您可以使用MaxCompute备份表格存储数据或迁移表格存储数据到MaxCompute中使用。
阿里云对象存储OSS(Object Storage Service)是一款海量、安全、低成本、高可靠的云存储服务。您可以使用OSS备份表格存储数据或者将表格存储数据同步到OSS后下载文件到本地。
迁移方案
请根据实际业务需求通过DataWorks数据集成实现表格存储与不同数据源之间的数据迁移。
数据导入的迁移方案包括同步MySQL数据到表格存储、同步Oracle数据到表格存储、同步Kafka数据到表格存储、同步HBase数据到表格存储、同步MaxCompute数据到表格存储、同步表格存储数据表中数据到另一个数据表和同步表格存储时序表中数据到另一个时序表。
数据导出的迁移方案包括同步表格存储数据到MaxCompute和同步表格存储数据到OSS。
数据导入
数据导入相关的迁移方案说明请参见下表。
迁移方案 | 说明 |
同步MySQL数据到表格存储 | MySQL数据库中的数据只能迁移到表格存储的数据表中。 迁移过程中会使用到MySQL的Reader脚本配置和表格存储的Writer脚本配置,具体数据源配置如下:
|
同步Oracle数据到表格存储 | Oracle数据库中的数据只能迁移到表格存储的数据表中。 迁移过程中会使用到Oracle的Reader脚本配置和表格存储的Writer脚本配置。具体数据源配置如下:
|
同步Kafka数据到表格存储 | Kafka中的数据支持迁移到表格存储的数据表或者时序表中。 重要
迁移过程中会使用到Kafka的Reader脚本配置和表格存储的Writer脚本配置。具体数据源配置如下:
|
同步HBase数据到表格存储 | HBase数据库中数据只支持迁移到表格存储的数据表中。 迁移过程中会使用到HBase的Reader脚本配置和表格存储的Writer脚本配置。具体数据源配置如下:
|
同步MaxCompute数据到表格存储 | MaxCompute的数据只支持迁移到表格存储的数据表中。 迁移过程中会使用到MaxCompute的Reader脚本配置和表格存储的Writer脚本配置。具体数据源配置如下:
|
同步PolarDB-X 2.0数据到表格存储 | PolarDB-X 2.0的数据只支持迁移到表格存储的数据表中。 迁移过程中会使用到PolarDB-X 2.0的Reader脚本配置和表格存储的Writer脚本配置,具体数据源配置如下:
|
同步表格存储数据表中数据到另一个数据表 | 表格存储数据表数据只支持迁移到表格存储另一个数据表中。 迁移过程中会使用到表格存储的Reader脚本配置和Writer脚本配置,具体数据源配置请参见Tablestore数据源。实际使用过程中请参考读写宽表数据的相关内容进行配置。 |
同步表格存储时序表中数据到另一个时序表 | 表格存储时序表数据只支持迁移到表格存储另一个时序表中。 迁移过程中会使用到表格存储的Reader脚本配置和Writer脚本配置,具体数据源配置请参见Tablestore数据源。实际使用过程中请参考读写时序数据的相关内容进行配置。 |
数据导出
数据导出相关的迁移方案说明请参见下表。
迁移方案 | 说明 |
同步表格存储数据到MaxCompute | 您可以使用MaxCompute备份表格存储数据或者将表格存储数据迁移到MaxCompute中使用。 迁移过程中会使用到表格存储的Reader脚本配置和MaxCompute的Writer脚本配置。具体数据源配置如下:
|
同步表格存储数据到OSS | 同步到OSS中的文件可自由下载,也可作为表格存储数据的备份存储于OSS。 迁移过程中会使用到表格存储的Reader脚本配置和OSS的Writer脚本配置。具体数据源配置如下:
|
前提条件
确定迁移方案后,完成相应准备工作。
已确保源数据源和DataWorks之间以及目标数据源和DataWorks之间的网络连通。
已完成源数据源的版本确认、账号准备、权限配置、产品特有配置等操作。更多信息,请参见相应数据源文档中的配置要求。
已完成目标数据源的服务开通、所需资源创建等操作。更多信息,请参见相应数据源文档中的配置要求。
注意事项
如果使用过程中遇到任何问题,请提交工单联系我们。
请确保DataWorks数据集成服务支持迁移相应产品版本的数据。
目标数据源的数据类型必须与源数据源的数据类型相匹配,否则迁移过程中会产生脏数据。
确定迁移方案后,请务必仔细阅读相应数据源文档中的使用限制、注意事项等信息。
迁移Kafka数据前,请务必根据实际业务场景选择合适的表格存储数据模型存储数据。
配置流程
请根据迁移方案了解通过DataWorks数据集成实现数据迁移的配置流程。
具体步骤说明请参见下表。
序号 | 步骤 | 说明 |
1 | 请根据迁移方案创建所需数据源。
| |
2 | DataWorks数据集成提供向导式的开发引导,通过可视化的填写和下一步的引导,助您快速完成数据同步任务的配置工作。向导模式的学习成本低,但无法支持部分高级功能。 | |
3 | 数据迁移结果验证 | 请根据迁移方案在相应数据源中查看导入的数据。
|
配置示例
数据导入
通过DataWorks数据集成,您可以导入MySQL、Oracle、MaxCompute等数据到表格存储数据表中。此处以同步MaxCompute数据到表格存储数据表为例介绍数据迁移操作。
前提条件
步骤一:新增表格存储数据源和MaxCompute数据源
步骤二:通过向导模式配置离线同步任务
步骤三:查看导入到表格存储中的数据
数据导出
通过DataWorks数据集成,您可以将表格存储数据导出到MaxCompute或OSS中。
导出表格存储全量数据到MaxCompute。具体操作,请参见导出全量数据到MaxCompute。
同步表格存储数据到OSS。
计费说明
当导入数据到表格存储时,表格存储会根据数据存储量收取相应存储费用。
通过迁移工具访问表格存储时,表格存储会根据具体的读写请求按照读写吞吐量计量计费。同时根据实例类型不同,计费时需要区分按量读写CU以及预留读写CU。
使用DataWorks工具时,DataWorks会收取相关的功能费用和资源费用。更多信息,请参见DataWorks购买指引。
其他方案
您可以根据需要下载表格存储数据到本地文件。具体操作,请参见将表格存储数据下载到本地文件。
您也可以通过通道服务等其他迁移工具完成数据导入。
迁移工具 | 说明 | 迁移方案 |
DataX将不同数据源的同步抽象为从源头数据源读取数据的Reader插件,以及向目标端写入数据的Writer插件。 | ||
通道服务(Tunnel Service)是基于表格存储数据接口之上的全增量一体化服务。适用于源表为表格存储数据表的数据迁移同步。 通道服务提供了增量、全量、增量加全量三种类型的分布式数据实时消费通道。通过为数据表建立数据通道,可以简单地实现对表中历史存量和新增数据的消费处理。 |
附录:字段类型映射
以下列出了常用产品与表格存储的字段类型映射关系,实际使用时请按照相应字段类型映射信息进行字段映射配置。
MaxCompute和Tablestore字段类型映射
MaxCompute字段类型 | Tablestore字段类型 |
STRING | STRING |
BIGINT | INTEGER |
DOUBLE | DOUBLE |
BOOLEAN | BOOLEAN |
BINARY | BINARY |
MySQL和Tablestore字段类型映射
MySQL字段类型 | Tablestore字段类型 |
STRING | STRING |
INT、INTEGER | INTEGER |
DOUBLE、FLOAT、DECIMAL | DOUBLE |
BOOL、BOOLEAN | BOOLEAN |
BINARY | BINARY |
Kafka和Tablestore字段类型映射
Kafka Schema Type | Tablestore字段类型 |
STRING | STRING |
INT8、INT16、INT32、INT64 | INTEGER |
FLOAT32、FLOAT64 | DOUBLE |
BOOLEAN | BOOLEAN |
BYTES | BINARY |