GaussDB迁移方案总览
云数据库GaussDB提供了多种数据迁移方案,可满足从MySQL数据库、Oracle数据库、GaussDB数据库、PostgreSQL数据库、DB2 for LUW、RDS for SQL Server、Microsoft SQL Server数据库到云数据库GaussDB的迁移。
数据迁移工具有DRS、DAS和gs_loader。推荐使用DRS,DRS可以快速解决多场景下,数据库之间的数据流通问题,操作便捷、简单,仅需分钟级就能搭建完成迁移任务。通过服务化迁移,免去了传统的DBA人力成本和硬件成本,帮助降低数据传输的成本。
数据迁移命令有gs_dump和gs_dumpall、gs_restore和copy。
| 迁移方式 | 数据源 | 说明 | 文档连接 |
|---|---|---|---|
| 使用DRS工具将数据导入GaussDB | MySQL | 通过DRS实时同步功能,将数据从一个数据源拷贝到GaussDB,实现关键业务的数据实时流动。主要聚焦于表和数据的同步导入。 | 使用DRS将MySQL数据库迁移到GaussDB |
| Oracle | 使用DRS将Oracle数据库迁移至GaussDB | ||
| GaussDB(分布式版) | - 将GaussDB分布式版同步到GaussDB分布式版 |
- 将GaussDB分布式版同步到GaussDB主备版 | | | | GaussDB(主备版) | - 将GaussDB主备版同步到GaussDB分布式版
- 将GaussDB主备版同步到GaussDB主备版 | | | | DB2 for LUW | - 将DB2 for LUW同步到GaussDB主备版
- 将DB2 for LUW同步到GaussDB分布式版 | | | | PostgreSQL | - 将PostgreSQL同步到GaussDB主备版
- 将PostgreSQL同步到GaussDB分布式版 | | | | SQL Server | - 将Microsoft SQL Server同步到GaussDB主备版
- 将Microsoft SQL Server同步到GaussDB分布式版 | | | | 使用DAS工具的导出、导入功能迁移数据 | sql/CSV文件格式 | 通过DAS的数据导出功能,获取完整的数据信息,再将数据从本地或者从OBS桶导入目标数据表。 | 使用DAS的导出和导入功能迁移GaussDB数据 | | 使用copy to/from命令导出导入数据 | CSV文件格式 | gsql工具提供了元命令\copy进行数据导入导出。\copy只适合小批量、格式良好的数据导入,不会对非法字符做预处理,也无容错能力,无法适用于含有异常数据的场景。 | 使用copy to/from命令导出导入数据 | | JDBC中使用COPY命令导出导入数据 | 其他文件或数据库 | 使用Java语言开发应用程序时,通过调用JDBC驱动的CopyManager接口,从文件或其他数据库向GaussDB写入数据。 | JDBC中使用COPY命令导出导入数据 | | 使用gs_dump和gs_dumpall命令导出数据 | - 纯文本格式
- 自定义归档格式
- 目录归档格式
- tar归档格式 | gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出集群中所有数据库或各库的公共全局对象。通过导入工具将导出的元数据信息导入至需要的数据库,可以完成数据库信息的迁移。 | 使用gs_dump和gs_dumpall命令导出数据 | | 使用gs_restore命令导入数据 | sql/tmp/tar文件格式 | 在数据库迁移场景下,支持使用gs_restore工具将事先使用gs_dump工具导出的文件格式,重新导入GaussDB,实现表定义、数据库对象定义等元数据的导入。导入数据主要包括以下内容:- 所有数据库对象定义。
- 单个数据库对象定义。
- 单个Schema定义。
- 单张表定义。 | 使用gs_restore命令导入数据 | | 使用gs_loader工具导入数据 | CSV文件格式 | 对于copy to导出的文件,可以使用gs_loader工具进行数据导入。gs_loader将控制文件支持的语法转换为\COPY语法,然后利用已有的\COPY功能,做主要数据导入工作,同时gs_loader将\COPY结果记录到日志中。 | 使用gs_loader工具导入数据 |
父主题: 数据库迁移