GaussDB迁移方案总览

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。

表1 GaussDB迁移方案
迁移方式

数据源

说明

文档连接

使用DRS工具将数据导入GaussDB

MySQL

通过DRS实时同步功能,将数据从一个数据源拷贝到GaussDB,实现关键业务的数据实时流动。主要聚焦于表和数据的同步导入。

使用DRS将MySQL数据库迁移到GaussDB

Oracle

使用DRS将Oracle数据库迁移至GaussDB

GaussDB

将GaussDB分布式版同步到GaussDB分布式版
将GaussDB分布式版同步到GaussDB主备版
将GaussDB主备版同步到GaussDB分布式版
将GaussDB主备版同步到GaussDB主备版
DB2 for LUW

将DB2 for LUW同步到GaussDB主备版
将DB2 for LUW同步到GaussDB分布式版
本地自建PostgreSQL数据库
ECS自建PostgreSQL数据库
其他云上PostgreSQL数据库
RDS for PostgreSQL
将PostgreSQL同步到GaussDB主备版
将PostgreSQL同步到GaussDB分布式版
本地自建Microsoft SQL Server数据库
ECS自建Microsoft SQL Server数据库
其他云上Microsoft SQL Server数据库
RDS for 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工具导入数据

父主题: 数据库迁移

posted @ 2024-09-18 16:42  wpp0303  阅读(16)  评论(0)    收藏  举报