阅读964 返回首页    go 阿里云


DRDS数据导入__开发手册_分布式关系型数据库 DRDS-阿里云

使用DRDS的一个常见问题是,如何将历史数据导入到DRDS中,本文档将指导您快速完成数据导入工作。

首先,根据数据来源的不同可以分为两种场景:

  • 场景1:数据来自您自建的数据库

  • 场景2:数据来自RDS

针对两种场景,有三种具体解决方案:

对于场景1,按照数据量不同,有两种最佳实践:

  • 数据总量少于500万条:推荐使用Navicat、sqldump等工具,参考下文中 1.1 小数据量导入 小节。

  • 数据总量超过500万条:推荐先将数据导入到RDS,再从RDS中导入到DRDS,参考下文中 1.2 大数据导入 小节。

对于场景2,可以使用DRDS的数据导入功能完成导入,使用方法见下文 2.数据来自RDS 小节。

1. 从自建数据库导入

1.1 小数据量导入

通常采用单线程导入,其劣势是导入的速度会比较慢,无法发挥分布式数据库非常高的系统并行度优势,但实际使用相当方便。

推荐的方式有两种:

  1. 使用sqldump导出数据后,用mysql source命令导入到DRDS,参考官方手册 / 中文教程

  2. 使用Navicat可以从CSV、TXT、XML、DBF 以及更多格式的文件中导入数据,参考 官方手册 高级工具->导入向导部分。

1.2 大数据导入

对于数据量比较大的场景,导入需要分两步完成。

  1. 首先将数据导入到RDS,参考数据迁入RDS

  2. 再使用DRDS的数据导入功能完成 RDS->DRDS 的数据迁移,使用方法见 2.从RDS导入 小节。

2. 从RDS导入

DRDS 数据导入功能用于完成 RDS->DRDS 的数据迁移。

数据导入流程分为 建表->配置->迁移->切换 四个步骤

2.1 建表

在导入数据之前,首先需要在DRDS上创建相同结构的表,建表可以使用控制台上的DDL功能完成。

或是通过命令行执行,语法参考DRDS DDL语句,

2.2 配置

数据导入任务的配置入口在DRDS控制台DB详情页面的最上方,如下图所示:

数据导入配置页面

点击 数据导入 按钮进入配置页面,首先需要填写源信息和目标信息:

  • 源信息:RDS上数据库的信息,包括RDS实例ID、数据库名、编码、账号和密码。

  • 目标信息:DRDS信息,包括创建DRDS数据库时填写的账号、密码。

数据库信息配置页面

点击 下一步 后,进入表选择页面,控制台会预先检查哪些表是允许迁移的,在该页面中会显示检查结果:

表选择页面

勾选需要迁移的数据表,并点击 开始导入 提交数据导入任务。

2.3 迁移

数据导入任务提交后,可以在控制台右上角的任务列表中看到导入任务的进度:

数据导入任务进度

2.4 切换

任务执行完成后会显示 切换取消 按钮

关于任务完成:导入的数据包含全量(所有历史数据)和增量(全量迁移期间产生的数据)两部分,执行顺序是导入全量再导入增量。导入任务显示 成功 时,代表目前DRDS中数据已经和 RDS 实例中数据同步,此时后台数据迁移进程还在运行,以保证维持同步状态。当点击 切换 才会停止增量数据的迁移。切换后,数据导入完成。

数据导入任务完成

点击 切换 按钮后,数据导入完成。

3. 注意事项

  1. 导入前需要先在DRDS上创建好需要写入数据的表。

  2. 大数据量时保证源RDS有充足的空间(数据+binlog),避免出现因为空间不足导致binlog被删除,进而导致增量迁移失败问题。

  3. 若源RDS同时挂载在DRDS下,大数据量时保证 RDS 有充足的空间(2份数据+binlog),避免出现导入问题。

最后更新:2016-11-23 17:31:29

  上一篇:go DRDS慢SQL明细__开发手册_分布式关系型数据库 DRDS-阿里云
  下一篇:go 全局唯一数字序列使用__开发手册_分布式关系型数据库 DRDS-阿里云