Updated on 2022-08-16 GMT+08:00

Data Migration to GaussDB(DWS)

GaussDB(DWS) provides flexible methods for importing data. You can import data from different sources to GaussDB(DWS). The features of each method are listed in Table 1. You can select a method as required. You are advised to use GaussDB(DWS) with Cloud Data Migration (CDM), and Data Lake Factory (DLF). CDM is used for batch data migration, and DLF orchestrates and schedules the entire ETL process and provides a visualized development environment.

  • DRS, CDM, OBS, and MRS are cloud services.
  • GDS, DSC, and gs_restore, and gs_dump are internal tools.
Table 1 Data migration methods

Data Migration Mode

Supported Data Source/Database

Description

Advantage

Importing Data from OBS in Parallel

TEXT, CSV, ORC, and CarbonData data file formats

You can import data in TEXT, CSV, ORC, or CarbonData format from OBS to GaussDB(DWS) for query, and can remotely read data from OBS.

It is recommended for GaussDB(DWS).

This method features high performance and flexible scale-out.

Using GDS to Import Data from a Remote Server

TEXT and CSV data file formats

You can use the GDS tool provided by GaussDB(DWS) to import data from the remote server to GaussDB(DWS) in parallel. Multiple DNs are used for the import. This method is efficient and applicable to importing a large amount of data to the database.

Importing Data from MRS to a Cluster

  • Hive
  • Spark

You can configure a GaussDB(DWS) cluster to connect to an MRS cluster, and read data from the HDFS of MRS to GaussDB(DWS).

NOTE:

This import method is not supported currently.

This method features high performance and flexible scale-out.

Importing Data from One GaussDB(DWS) Cluster to Another

-

Data communication between two GaussDB(DWS) clusters is supported. You can use foreign tables to access and import data across GaussDB(DWS) clusters.

This method is applicable to data synchronization between multiple GaussDB(DWS) clusters.

Using the gsql Meta-Command \COPY to Import Data

Local files

Unlike the SQL COPY statement, the \copy command can be used to read data from or write data to only local files on a gsql client.

This method is easy-to-operate and suitable for importing a small amount of data to the database.

Running the COPY FROM STDIN Statement to Import Data

Other files or databases

When you use Java to develop applications, the CopyManager interface of the JDBC driver is invoked to write data from files or other databases to GaussDB(DWS).

Data is directly written from other databases to GaussDB(DWS). Service data does not need to be stored in files.

Using CDM to Migrate Data to GaussDB(DWS)

  • MySQL
  • PostgreSQL
  • Microsoft SQL Server
  • Oracle
  • IBM Db2
  • SAP HANA
  • GaussDB(DWS)
  • Hive

CDM can migrate various types of data in batches between homogeneous and heterogeneous data sources. CDM migrates data to GaussDB(DWS) using the COPY statement or the GDS parallel import method.

This method supports data import from abundant data sources and is easy-to-operate.

Using DSC to Migrate SQL Scripts

Databases, NoSQL, file systems, and big data platforms

For details, see the documents of the third-party ETL tool.

GaussDB(DWS) provides the DSC tool to migrate Teradata/Oracle scripts to GaussDB(DWS).

This method supports abundant data sources and provides powerful data conversion through OBS.

Using gs_dump and gs_dumpall to Export Metadata

  • Plaintext
  • Custom
  • Directory
  • .tar

gs_dump exports a single database or its objects. gs_dumpall exports all databases or global objects in a cluster.

To migrate database information, you can use a tool to import the exported metadata to a target database.

This method is applicable to metadata migration.

Using gs_restore to Import Data

SQL, TMP, and TAR file formats

During database migration, you can use the gs_restore tool to import the file exported using the gs_dump tool to a GaussDB(DWS) cluster. In this way, metadata, such as table definitions and database object definitions, is imported. The following data needs to be imported:

  • All database object definitions
  • Definition of each database object
  • Definition of each schema
  • Definition of each table