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:
- Preparativos
- Passo 1: preparar uma tabela de origem MySQL
- Passo 2: criar um cluster do GaussDB(DWS).
- Passo 3: criar uma tarefa de sincronização do DRS
- 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.
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
- 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.
- 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).
- 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.
- 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.
- 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;
- Alterne para o banco de dados rds_demo e crie um esquema chamado rds_demo.
1
CREATE SCHEMA rds_demo;
- 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';
- 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
- Escolha Service List > Databases > Data Replication Service para alternar para o console do DRS.
- Escolha Data Synchronization Management à esquerda e clique em Create Synchronization Task no canto superior direito.
- Configure parâmetros básicos. Para mais detalhes, consulte Tabela 1.
- 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.
- 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.
- 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
****
- 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
****
- Clique em Next e, em seguida, clique em Agree.
- 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
- 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.
- Clique em Next, selecione Start upon task creation, verifique outras informações e clique em Submit no canto inferior direito.
- 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
- 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;
- 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');
- 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;