数据仓库服务迁移类型

IoT数仓与标准数仓是GaussDB(DWS)的两种不同类型产品,在使用上也存在一定差异,具体可参考表1进行对比分析。

表1 IoT数仓与标准数仓的差异

数仓类型
适用场景
产品优势
功能特点

从OBS并行导入数据

OBS

支持将存储在OBS上的TXT、CSV、ORC及CARBONDATA格式的数据并行导入到GaussDB(DWS),支持导入后查询数据,也支持远程读OBS上的数据。

GaussDB(DWS)优先推荐的导入方式。

并行拉取方式,性能好,横向扩展。

使用GDS从远端服务器导入数据

Servers(即远端服务器)

使用GaussDB(DWS)提供的GDS工具,利用多DN并行的方式,将数据从远端服务器导入到GaussDB(DWS)。这种方式导入效率高,适用于大批量数据入库。

并行拉取方式,性能好,横向扩展。

从MRS导入数据到集群

MRS(HDFS)

配置一个GaussDB(DWS)集群连接到一个MRS集群,然后将数据从MRS的HDFS中读取到GaussDB(DWS)。

并行拉取方式,性能好,横向扩展。

从DWS集群导入数据到新集群

DWS

支持两个GaussDB(DWS)集群之间的数据互访互通。通过Foreign Table方式实现跨DWS集群的数据访问和导入。

适用于多套DWS集群之间的数据同步。

基于GDS的跨集群互联互通

DWS

通过GDS进行数据中转,实现多个集群之间的数据同步。

适用于多套DWS集群之间的数据同步。

使用gsql元命令\COPY导入数据

本地文件

与直接使用SQL语句COPY不同,该命令读取/写入的文件只能是gsql客户端所在机器上的本地文件。

操作简单,适用于小批量数据入库。

使用COPY FROM STDIN导入数据

其他文件或数据库

使用Java语言开发应用程序时,通过调用JDBC驱动的CopyManager接口,从文件或其他数据库向GaussDB(DWS)写入数据。

从其他数据库直接写入DWS的方式,具有业务数据无需落地成文件的优势。

使用DRS将数据导入DWS集群

MySQL、DDM、PostgreSQL(公测)、Oracle(公测)、GaussDB分布式版(公测)

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

数据源丰富,操作简单。

使用CDM迁移数据到GaussDB(DWS)

数据库、NoSQL、文件系统、大数据平台

CDM提供同构/异构数据源之间批量数据迁移的功能,帮助您实现从多种类型的数据源迁移数据到GaussDB(DWS)。CDM在迁移数据到GaussDB(DWS)时,采用的是Copy方式和GDS并行导入方式。

数据源丰富,操作简单。

使用DSC工具迁移SQL脚本

数据库、NoSQL、文件系统、大数据平台

GaussDB(DWS)提供了DSC工具,可以将Teradata/Oracle脚本迁移到GaussDB(DWS)。

通过OBS中转,数据源丰富,数据转换能力强。

使用gs_dump和gs_dumpall命令导出元数据

纯文本格式、自定义归档格式、目录归档格式、tar归档格式

gs_dump支持导出单个数据库或其内的对象,而gs_dumpall支持导出集群中所有数据库或各库的公共全局对象。

通过导入工具将导出的元数据信息导入至需要的数据库,可以完成数据库信息的迁移。

适用于元数据迁移。

使用gs_restore导入数据

sql/tmp/tar文件格式

在数据库迁移场景下,支持使用gs_restore工具将事先使用gs_dump工具导出的文件格式,重新导入GaussDB(DWS)集群,实现表定义、数据库对象定义等元数据的导入。


适用于元数据迁移。

GaussDB(DWS)数据迁移经典实践教程

GaussDB(DWS)数据迁移最佳实践