Escrever Flink SQL do zero para sincronizar dados do MySQL com o Hologres exige conhecimento da sintaxe das instruções CDAS e CTAS, tratamento manual de alterações de schema e gerenciamento de server IDs para conectores CDC. Os modelos de sincronização de dados geram esse SQL automaticamente: basta selecionar os catálogos de origem e destino, escolher um método de sincronização e o modelo produz um arquivo Flink SQL pronto para implantação, cobrindo dados completos, dados incrementais e alterações de schema.
Métodos de sincronização
Há dois métodos disponíveis. Escolha conforme a estrutura dos seus dados de origem:
|
Método |
Quando usar |
SQL gerado |
|
Sincronização multi-banco multi-tabela |
Para sincronizar uma ou mais tabelas de um ou mais bancos de dados para um único banco de dados de destino |
|
|
Fusão de dados fragmentados |
Para consolidar várias tabelas fragmentadas com schema semelhante em uma única tabela de destino |
|
Ambos os métodos usam conectores Flink Change Data Capture (CDC) para sincronizar automaticamente dados completos, dados incrementais e alterações de schema (como adição de colunas) de cada tabela de origem para o destino.
Limitações
Os modelos de sincronização de dados aceitam apenas MySQL como origem e Hologres como destino.
Pré-requisitos
Antes de começar, verifique se você tem:
Um catálogo MySQL. Caso não exista, crie um — consulte Gerenciar catálogos MySQL
Um catálogo Hologres. Caso não exista, crie um — consulte Gerenciar catálogo Hologres
Acesso a um workspace do Realtime Compute for Apache Flink
Criação de tabela: O Realtime Compute for Apache Flink cria automaticamente a tabela de destino no Hologres. Se a tabela já existir, a sincronização dos dados usará o banco de dados e a tabela de destino selecionados durante a criação do plano.
Alteração de tipo de dados: O Hologres não permite alterar tipos de dados de colunas. Se o tipo de dados de um campo de origem diferir do tipo na tabela Hologres existente, a gravação falhará. Altere o tipo de dados da coluna e sincronize novamente.
Nomenclatura padrão: O modelo cria o banco de dados e a tabela de destino com os mesmos nomes do catálogo de origem e os sincroniza por padrão no schema public. Para alterar o nome do banco de dados, da tabela ou do schema, use instruções SQL. Consulte CREATE TABLE AS (CTAS) e CREATE DATABASE AS (CDAS).
Sincronizar dados usando um modelo
Faça login no console do Realtime Compute for Apache Flink.
Localize o workspace e clique em Console na coluna Actions.
No painel de navegação à esquerda, clique em Development > ETL. Clique no ícone
e selecione New Draft with Template.Na caixa de diálogo New Draft, clique na aba Flink CDC. Selecione o cartão Data Synchronization from MySQL to Hologres e clique em Next.
-
Configure a origem e o destino: clique em Next.
Categoria Parâmetro Descrição Origem MySQL Catalog Selecione um catálogo MySQL existente. Se não houver nenhum, clique em Create Catalog. Consulte Gerenciar catálogos MySQL. Origem MySQL server-id Insira um ID exclusivo para cada cliente de banco de dados MySQL. Valores válidos: 5400–6400. Você também pode especificar um intervalo (por exemplo, 5400-5408). Se a leitura paralela estiver ativada no modo de leitura incremental, especifique um intervalo para atribuir um server ID exclusivo a cada thread paralela.ImportanteNão use o mesmo server-id para diferentes implantações ou serviços que acessam o banco de dados.
Destino Hologres Catalog Selecione um catálogo Hologres existente. Se não houver nenhum, clique em Create Catalog. Consulte Gerenciar catálogo Hologres. 
-
Crie um plano. Siga as etapas correspondentes ao método de sincronização escolhido:
-
Sincronização multi-banco multi-tabela
Na aba To Single Database, selecione o banco de dados e a tabela de origem.

-
Clique em Save Plan. O plano aparecerá na lista de planos.
NotaO modelo cria um banco de dados e uma tabela no catálogo de destino com os mesmos nomes da origem e os sincroniza por padrão no schema
public. Para personalizar o nome do banco de dados, da tabela ou do schema, use instruções SQL. Consulte CREATE TABLE AS (CTAS) e CREATE DATABASE AS (CDAS). Clique em Next.
Revise o SQL gerado. Modifique Name, Location ou Engine Version conforme necessário.

-
Fusão de dados fragmentados
Na aba To Multiple Databases, selecione os bancos de dados e as tabelas de origem ou insira os nomes do banco de dados e da tabela de destino.
Recomendamos usar expressões regulares para especificar os bancos de dados e as tabelas de origem.Clique em Save Plan. O plano aparecerá na lista de planos.
É possível criar vários planos — para sincronização multi-banco multi-tabela e fusão de dados fragmentados — em um único rascunho. 
Clique em Next.
Revise o SQL gerado. Modifique Name, Location ou Engine Version conforme necessário.

-
Clique em Create. O sistema redireciona você para a página do Editor SQL. A partir daí, o fluxo de trabalho segue o padrão de uma implantação comum. Consulte Mapa de desenvolvimento de jobs e Iniciar uma implantação de job.
Próximos passos
Para personalizar o SQL gerado com opções avançadas, como mapeamento de schema ou nomes de tabela personalizados, consulte CREATE TABLE AS (CTAS) e CREATE DATABASE AS (CDAS).
Para iniciar o job após criar a implantação, consulte Iniciar uma implantação de job.
Para obter mais informações sobre tabelas de resultados do Hologres, consulte Criar uma tabela de resultados do Hologres.