Este conteúdo foi traduzido por máquina para sua conveniência e a Huawei Cloud não pode garantir que o conteúdo foi traduzido com precisão. Para exibir o conteúdo original, use o link no canto superior direito para mudar para a página em inglês.
Central de ajuda/ GaussDB(DWS)/ Melhores práticas/ Migração de dados/ Sincronização de dados da tabela de MySQL para GaussDB(DWS) em tempo real
Atualizado em 2024-05-09 GMT+08:00

Sincronização de dados da tabela de MySQL para GaussDB(DWS) em tempo real

Esta prática demonstra como usar o Data Replication Service (DRS) para sincronizar dados do MySQL com o GaussDB(DWS) em tempo real. Para obter detalhes sobre DRS, consulte O que é o DRS?

Essa prática leva cerca de 60 minutos. O procedimento é os seguintes:

  1. Preparativos
  2. Passo 1: preparar uma tabela de origem MySQL
  3. Passo 2: criar um cluster do GaussDB(DWS).
  4. Passo 3: criar uma tarefa de sincronização do DRS
  5. Passo 4: verificar sincronização de dados

Descrição do cenário

Em cenários de análise de Big Data, o MySQL serve como um banco de dados OLTP. Depois que o MySQL é conectado ao armazém de dados do GaussDB(DWS) para análise OLAP, os dados escritos pelo MySQL em tempo real precisam ser sincronizados com o armazém de dados do GaussDB(DWS) em tempo real. DRS é usado para executar a sincronização.

Figura 1 Sincronização em tempo real do DRS

Preparativos

  • Você registrou uma conta da Huawei e ativou os serviços da Huawei Cloud.. Antes de usar o GaussDB(DWS), verifique o status da conta. A conta não pode estar em atraso ou congelada.
  • A tabela de origem do MySQL a ser migrada foi preparada. Nessa prática, um banco de dados MySQL do RDS da Huawei Cloud é usado como dados de origem. Se o banco de dados MySQL estiver off-line, verifique se a conexão de rede está normal.

Passo 1: preparar uma tabela de origem MySQL

  1. Você adquiriu um mecanismo de banco de dados MySQL do RDS (nesta prática, use o MySQL 8.0.x como exemplo). Para obter detalhes, consulte Compra de uma instância de BD.
  2. O banco de dados de origem rds_demo com o conjunto de caracteres utf8mb4 foi criado e há a tabela rds_t1 com dados no banco de dados.

Passo 2: criar um cluster do GaussDB(DWS).

  1. Criação de um cluster. Para garantir a conectividade de rede, o cluster do GaussDB(DWS) e o RDS devem estar na mesma região.
  2. Na página Clusters do console do GaussDB(DWS), localize a linha que contém o cluster de destino e clique em Login na coluna Operation.

    Esta prática usa a versão 8.1.3.x como exemplo. 8.1.2 e versões anteriores não suportam este modo de logon. Você pode usar o Data Studio para se conectar a um cluster. Para obter detalhes, consulte Uso do Data Studio para se conectar a um cluster.

  3. Após efetuar logon no banco de dados do GaussDB(DWS), crie o banco de dados rds_demo para sincronização.

    1
    CREATE DATABASE rds_demo WITH ENCODING 'UTF-8' DBCOMPATIBILITY 'mysql' TEMPLATE template0;
    

  4. Alterne para o banco de dados rds_demo e crie um esquema chamado rds_demo.

    1
    CREATE SCHEMA rds_demo;
    

  5. Crie uma tabela chamada rds_t1 no esquema rds_demo.

     1
     2
     3
     4
     5
     6
     7
     8
     9
    10
    11
    12
    13
    14
    15
    CREATE TABLE rds_demo.rds_t1 (
      area_id varchar(256) NOT NULL,
      area_name varchar(256) DEFAULT NULL,
      lifecycle varchar(256) DEFAULT NULL,
      user_num int DEFAULT NULL,
      income  bigint DEFAULT NULL,
      create_time timestamp DEFAULT CURRENT_TIMESTAMP,
       PRIMARY KEY (area_id)
    )distribute by hash(area_id);
    COMMENT on column rds_demo.rds_t1.area_id is 'Region Code';
    COMMENT on column rds_demo.rds_t1.area_name is 'Region Name';
    COMMENT on column rds_demo.rds_t1.lifecycle is 'Life Cycle';
     COMMENT on column rds_demo.rds_t1.user_num is 'Subscribers in Each Life Cycle';
     COMMENT on column rds_demo.rds_t1.income is 'Region Income';
    COMMENT on column rds_demo.rds_t1.create_time is 'Creation Time';
    

  6. Consulte dados da tabela. Atualmente, a tabela está vazia.

    1
    SELECT * FROM rds_demo.rds_t1;
    

Passo 3: criar uma tarefa de sincronização do DRS

  1. Escolha Service List > Databases > Data Replication Service para alternar para o console do DRS.

  2. Escolha Data Synchronization Management à esquerda e clique em Create Synchronization Task no canto superior direito.

  3. Configure parâmetros básicos. Para mais detalhes, consulte Tabela 1.

    Tabela 1 Parâmetros básicos

    Parâmetro

    Valor

    Billing Mode

    Pay-per-use

    Region

    CN-Hong Kong. Verifique se o RDS e o GaussDB(DWS) estão na mesma região.

    Project

    CN-Hong Kong

    Task Name

    DRS-DWS

    Description

    -

  4. Configure os seguintes parâmetros. Para mais detalhes, consulte Tabela 2.

    Tabela 2 Parâmetros de instância sincronizados

    Parâmetro

    Valor

    Data Flow

    To the cloud

    Source DB Engine

    MySQL

    Destination DB engine

    GaussDB(DWS)

    Network Type

    Nesta prática, selecione VPC. Se o banco de dados MySQL estiver off-line, selecione Public Network.

    Instance Type

    Single

    Destination DB Instance

    Selecione o cluster criado em Passo 2: criar um cluster do GaussDB(DWS)..

    Synchronization Instance Subnet

    Selecione a sub-rede em que o cluster do GaussDB(DWS) reside. Nessa prática, o RDS e o GaussDB(DWS) estão na mesma VPC e sub-rede.

    Synchronous Mode

    Full+Incremental

    Specifications

    Nesta prática, selecione Micro. Essa opção é selecionada com base no volume de dados e na taxa de sincronização.

  5. Clique em Next e clique em I have read and understand this notice.

    Aguarde cerca de 5 a 10 minutos para que a sincronização seja concluída.

  6. Depois que a sincronização for bem-sucedida, insira as informações do banco de dados de origem e clique em Test Connection.

    Tabela 3 Informações do banco de dados de origem

    Parâmetro

    Valor

    Tipo de banco de dados

    RDS DB Instance

    DB Instance Name

    Selecione a instância de banco de dados do RDS criada.

    Database Username

    root

    Database Password

    ****

  7. Insira as informações do banco de dados de destino e clique em Test Connection. O teste de conexão foi bem-sucedido.

    Tabela 4 Informações do banco de dados de destino

    Parâmetro

    Valor

    Database Username

    dbadmin

    Database Password

    ****

  8. Clique em Next e, em seguida, clique em Agree.
  9. Defina a política de sincronização. Para mais detalhes, consulte Tabela 5.

    Tabela 5 Política de sincronização

    Parâmetro

    Valor

    Flow Control

    No

    Synchronization Object Type

    Data

    Incremental Conflict Policy

    Overwrite

    Data Synchronization Topology

    Um-para-um

    Synchronize DDLs

    Default

    Synchronization Object

    Tables

    Selecione a tabela a ser sincronizada do banco de dados de origem. Nesta prática, selecione rds_t1 em rds_demo.

    Digite o nome do banco de dados do GaussDB(DWS) para o qual os dados são sincronizados: rds_demo

  10. Clique em Next, confirme as informações e clique em Next.

    Aguarde até que a verificação do parâmetro do banco de dados seja bem-sucedida. Se a verificação falhar, clique em Check Again.

  11. Clique em Next, selecione Start upon task creation, verifique outras informações e clique em Submit no canto inferior direito.

  12. Na caixa de diálogo exibida, confirme as informações, selecione I have read and understand this notice e clique em Start Task.

    Volte para a página Data Synchronization Management e aguarde cerca de 5 a 10 minutos. A sincronização foi iniciada com êxito.

    Aguarde cerca de 5 minutos e continue Passo 4: verificar sincronização de dados.

Passo 4: verificar sincronização de dados

  1. Efetue logon no console do GaussDB(DWS) novamente e execute a instrução a seguir para consultar os dados da tabela novamente. Se o resultado for mostrado da seguinte forma, a sincronização completa de dados é bem-sucedida.

    1
    SELECT * FROM rds_demo.rds_t1;
    

  2. Alterne para o console do RDS, efetue logon no banco de dados do RDS e insira novos dados na tabela rds_t1.

    1
    INSERT INTO rds_t1 VALUES ('5','new_area_name_05',34,64,1003,'2022-11-04');
    

  3. Alterne de volta para o banco de dados do GaussDB(DWS) e execute a seguinte instrução para consultar dados da tabela:

    Uma linha de dados é adicionada ao resultado da consulta, indicando que os dados no banco de dados MySQL foram sincronizados com o GaussDB(DWS) em tempo real.
    1
    SELECT * FROM rds_demo.rds_t1;