通过数据传输服务DTS(Data Transmission Service),您可以将MySQL数据库数据(例如自建MySQL或RDS MySQL)同步到表格存储(Tablestore)实例,轻松实现数据的流转。
前提条件
- 已创建RAM用户并为RAM用户授予AliyunOTSFullAccess权限(管理表格存储服务的权限)。具体操作,请参见配置RAM用户权限。重要 由于在配置目标库时需要填写访问密钥AccessKey(AK)信息来执行授权,为避免阿里云账号泄露AccessKey带来的安全风险,建议您通过RAM用户来完成授权和AccessKey的创建。
- 已获取AccessKey(包括AccessKey ID和AccessKey Secret),用于进行签名认证。具体操作,请参见获取AccessKey。
- 已创建表格存储实例。具体操作,请参见创建实例。
- 已购买数据同步作业。具体操作,请参见购买流程。说明 购买数据同步功能时,请选择源实例为MySQL,目标实例为Tablestore,并选择同步拓扑为单向同步。
背景信息
数据传输服务DTS(Data Transmission Service)是阿里云提供的实时数据流服务,支持关系型数据库(RDBMS)、非关系型的数据库(NoSQL)、数据多维分析(OLAP)等数据源间的数据交互,集数据同步、迁移、订阅、集成、加工于一体,助您构建安全、可扩展、高可用的数据架构。更多信息,请参见数据传输服务DTS。
注意事项
- DTS在执行全量数据初始化时将占用源库和目标库一定的读写资源,可能会导致数据库的负载上升,您需要在执行数据同步前评估数据同步对源库和目标库性能的影响,同时建议您在业务低峰期执行数据同步。
- 不支持同步DDL操作。如果同步过程中执行了DDL操作,请先移除同步对象,然后在Tablestore实例中删除该表,最后新增同步对象。
- 待同步的表数量不超过64个。如果业务需求会超过此限制,请提交工单提升目标Tablestore实例的表数量限制。
- 待同步的表或列名称符合如下规范:
- 表或列的名称由大小写字母、数字或下划线(_)组成,且只能以字母或下划线开头。
- 表或列的名称长度为1~255个字符。
同步初始化类型说明
同步初始化类型 | 说明 |
---|---|
结构初始化 | DTS将源库中待同步对象的结构定义信息同步至目标库,目前支持的对象为表。 警告 此场景属于异构数据库间的数据同步,DTS在执行结构初始化时数据类型无法完全对应,请谨慎评估数据类型的映射关系对业务的影响,详情请参见结构初始化涉及的数据类型映射关系。 |
全量数据初始化 | DTS将源库中待同步对象的存量数据,全部同步到目标库中,作为后续增量同步数据的基线数据。 |
增量数据初始化 | DTS在全量数据初始化的基础上,将源库的增量更新数据实时同步至目标库。 在增量数据初始化阶段,DTS支持同步的SQL语句为INSERT、UPDATE、DELETE。 警告 请勿在源库执行DDL语句,否则将导致数据同步失败。 |
操作步骤
- 登录数据传输控制台。
- 首次使用DTS时,请根据提示创建AliyunDTSDefaultRole权限,用于授予DTS访问云资源的权限。具体操作,请参见授予DTS访问云资源的权限。
- 创建同步任务。
- 在左侧导航栏,单击数据同步。
- 在同步作业列表区域选择同步的目标实例所属地域。
- 定位至已购买的数据同步实例,单击配置同步链路。
- 选择同步通道的源及目标实例。
- 配置同步策略及对象信息。
- 配置主键信息和预检查。
- 等待同步作业的链路初始化完成,直至处于同步中状态。您可以在数据同步页面,查看数据同步作业的状态。