Sincronize dados de um banco de dados PostgreSQL auto-gerenciado para uma instância do AnalyticDB for PostgreSQL e centralize os dados de negócios para análise.
Pré-requisitos
Cada tabela de origem a ser sincronizada deve ter uma chave primária.
Uma instância de destino do AnalyticDB for PostgreSQL já criada. Para mais informações, consulte Crie uma instância.
Observações de uso
Para sincronizar dados de vários bancos de dados, crie uma tarefa de sincronização de dados separada para cada banco.
-
Se você criar uma nova tabela no banco de dados de origem durante a sincronização e quiser incluí-la na replicação, execute o comando abaixo nessa tabela para manter a consistência dos dados:
ALTER TABLE schema.table REPLICA IDENTITY FULL; -
Para garantir a execução correta da tarefa, o failover entre primário e secundário tem suporte apenas em instâncias do ApsaraDB RDS for PostgreSQL 11. Além disso, defina o parâmetro
rds_failover_slot_modecomosync. Para mais informações, consulte Logical Replication Slot Failover.AvisoA execução de um failover entre primário e secundário em um banco de dados PostgreSQL auto-gerenciado ou em uma instância do ApsaraDB RDS for PostgreSQL de outra versão causará falha na tarefa de sincronização de dados.
Caso existam transações de longa duração no banco de dados de origem e a tarefa inclua sincronização incremental de dados, os registros de write-ahead logging (WAL) gerados antes da confirmação dessas transações podem se acumular e preencher o espaço em disco do banco de dados de origem.
Faturamento
|
Tipo de sincronização |
Preço |
|
Sincronização de esquema e sincronização completa de dados |
Gratuito. |
|
Sincronização incremental de dados |
Pago. Para mais informações, consulte Billing overview. |
Limitações
Não há suporte para sincronização de esquema. O DTS não replica as definições de objetos, como esquemas de tabelas, do banco de dados de origem para o de destino.
Apenas tabelas de dados podem ser sincronizadas. Tabelas com otimização de anexação (AO) não têm suporte como tabelas de destino.
Dados dos seguintes tipos não podem ser sincronizados: BIT, VARBIT, GEOMETRY, UUID, TSQUERY, TSVECTOR e TXID_SNAPSHOT.
Ao executar uma instrução DDL em um objeto sincronizado no banco de dados de origem, execute manualmente a mesma instrução no banco de dados de destino e reinicie a tarefa.
Operações SQL suportadas
INSERT, UPDATE e DELETE.
Antes de começar
Crie bancos de dados, esquemas e tabelas na instância de destino do AnalyticDB for PostgreSQL que correspondam aos objetos de origem a serem sincronizados. Para mais informações, consulte SQL syntax.
Procedimento
-
Adquira uma instância de sincronização de dados. Para mais informações, consulte Purchase a DTS instance.
NotaAo adquirir a instância, defina Source Database como PostgreSQL, Destination Database como AnalyticDB for PostgreSQL e Synchronization Topology como One-way Synchronization.
-
Faça login no console do Data Transmission Service.
NotaSe você for redirecionado automaticamente para o console do Data Management (DMS), clique em
no canto inferior direito e, em seguida, clique em
para retornar ao console clássico do DTS. No painel de navegação à esquerda, clique em Data Synchronization.
Na parte superior da página Data Synchronization, selecione a região da sua instância de sincronização.
Localize a instância de sincronização de dados adquirida e clique em Configure Synchronization Channel.
-
Configure as instâncias de origem e de destino.

Seção
Parâmetro
Descrição
N/A
Nome da tarefa de sincronização
O DTS gera automaticamente um nome para a tarefa. Especifique um nome descritivo. O nome não precisa ser único.
Detalhes da instância de origem
Tipo de instância
Este exemplo utiliza self-managed database on ECS.
NotaOutros tipos de instância exigem preparações adicionais. Preparation overview.
As etapas a seguir utilizam self-managed database on ECS.
Região da instância
Região selecionada no momento da aquisição da instância de sincronização. Este valor não pode ser alterado.
ID da instância ECS
Selecione o ID da instância ECS que hospeda seu banco de dados PostgreSQL auto-gerenciado.
Tipo de banco de dados
Este parâmetro é fixo como PostgreSQL.
Porta
Porta de service do banco de dados PostgreSQL auto-gerenciado.
Nome do banco de dados
Nome do banco de dados que contém as tabelas a serem sincronizadas.
Conta do banco de dados
Conta do banco de dados PostgreSQL auto-gerenciado.
NotaA conta do banco de dados deve ter permissões de propriedade sobre o esquema.
Senha do banco de dados
Senha da conta do banco de dados.
Detalhes da instância de destino
Tipo de instância
Fixo como AnalyticDB for PostgreSQL. Nenhuma configuração é necessária.
Região da instância
Região selecionada no momento da aquisição da instância de sincronização de dados. Este valor não pode ser alterado.
ID da instância
Selecione o ID da instância de destino do AnalyticDB for PostgreSQL.
Nome do banco de dados
Nome do banco de dados de destino.
Conta do banco de dados
A initial account da instância AnalyticDB for PostgreSQL. Para mais informações, consulte Create and manage users.
NotaTambém é possível utilizar uma conta com permissões RDS_SUPERUSER. Manage user permissions.
Senha do banco de dados
Senha da conta do banco de dados.
-
No canto inferior direito da página, clique em Set Whitelist and Next.
Se o banco de dados de origem ou de destino for uma instância de banco de dados da Alibaba Cloud, como ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, o DTS adiciona automaticamente os blocos CIDR dos servidores DTS à lista de permissões de endereços IP da instância. Se o banco de dados de origem ou de destino for auto-gerenciado e hospedado em uma instância do Elastic Compute Service (ECS), o DTS adiciona automaticamente os blocos CIDR dos servidores DTS às regras do grupo de segurança da instância ECS, e você deve garantir que a instância ECS possa acessar o banco de dados. Caso o banco de dados auto-gerenciado esteja hospedado em várias instâncias ECS, adicione manualmente os blocos CIDR dos servidores DTS às regras do grupo de segurança de cada instância ECS. Se o banco de dados de origem ou de destino for auto-gerenciado, implantado em um data center ou fornecido por um provedor de services cloud terceirizado, adicione manualmente os blocos CIDR dos servidores DTS à lista de permissões de endereços IP do banco de dados para permitir o acesso do DTS. Para mais informações, consulte Whitelist DTS server IP addresses.
AvisoA adição dos blocos CIDR de endereços IP públicos dos servidores DTS, seja automática ou manual, pode apresentar riscos de segurança. Ao utilizar este product, você reconhece e aceita esses riscos potenciais. Implemente proteções básicas de segurança, incluindo, mas não se limitando a: fortalecer a segurança de senhas, restringir portas abertas para blocos CIDR, usar autenticação para comunicação interna de API e revisar e restringir regularmente blocos CIDR desnecessários. Alternativamente, conecte-se ao banco de dados por meio de uma rede interna, como uma linha dedicada, um VPN Gateway ou um Smart Access Gateway.
-
Defina a política de sincronização e selecione os objetos a serem sincronizados.
Seção
Parâmetro
Descrição
Política de Sincronização
Inicializar Sincronização
Por padrão, a opção Initial Full Data Synchronization vem selecionada. Após a pré-verificação, o DTS sincroniza os dados existentes da origem para a instância de destino, servindo como base para a sincronização incremental subsequente.
Modo de Processamento para Tabelas Existentes
-
Clear Data
Ignora a verificação "Destination table is empty" durante a fase de pré-verificação. Limpa os dados das tabelas de destino antes da sincronização completa. Este modo é adequado para sincronização em produção após a conclusão dos testes.
-
Ignore Errors and Proceed
Ignora a verificação "Destination table is empty" durante a fase de pré-verificação. Anexa os dados diretamente durante a sincronização completa. Recomendado para cenários onde dados de várias tabelas são agregados em uma única tabela.
Tipo de Operação de Sincronização
Selecione os tipos de operação a serem sincronizados conforme suas necessidades de negócios:
NotaNão há suporte para AlterTable.
-
Insert
-
Update
-
Delete
-
AlterTable
Selecionar Objetos para Sincronizar
N/A
Na caixa Source Objects, selecione as tabelas a serem sincronizadas e clique em
para movê-las para a caixa Selected Objects.Nota-
A seleção de objetos é permitida apenas no nível de tabela.
-
Caso precise que os nomes das colunas na tabela de destino sejam diferentes dos da tabela de origem, utilize o recurso de mapeamento de colunas do DTS. Para mais informações, consulte Set object names in the destination instance.
Mapear Nomes de Objetos
N/A
Altere os nomes dos objetos sincronizados na instância de destino. Para mais informações, consulte Map databases, tables, and columns.
ImportanteSe você usar o mapeamento de colunas sem sincronizar a tabela inteira, ou se os esquemas das tabelas de origem e destino não coincidirem, os dados das colunas que existem apenas na tabela de origem serão perdidos no destino.
Duração da Tentativa de Reconexão
N/A
Se o DTS não conseguir se conectar à instância de origem ou de destino, ele tentará novamente por 720 minutos (12 horas) por padrão. Também é possível especificar uma duração personalizada de nova tentativa. Se o DTS se reconectar à instância de origem ou de destino dentro da duração especificada, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaVocê é cobrado pelo tempo de execução da tarefa durante as tentativas de reconexão. Personalize a duração da nova tentativa com base nas necessidades do seu negócio ou libere a instância do DTS assim que as instâncias de origem e de destino forem liberadas.
-
-
Após concluir as configurações anteriores, clique em Precheck and Start no canto inferior direito da página.
NotaAntes do início oficial da tarefa de sincronização, o sistema executa uma pré-verificação. A tarefa só pode ser iniciada após a aprovação nessa etapa.
-
Se a pré-verificação falhar, clique em
ao lado de um item de verificação específico para visualizar os detalhes da falha.Siga a instrução para corrigir o problema e execute a pré-verificação novamente.
Caso não seja necessário corrigir os itens de verificação de aviso, selecione Ignore, Ignore Warning Items and Rerun Precheck para ignorar esses avisos e executar a pré-verificação novamente.
Quando Precheck Passed for exibido na caixa de diálogo Precheck, feche a caixa. A tarefa de sincronização será iniciada automaticamente.
-
Aguarde até que o canal de sincronização seja inicializado e a tarefa entre no estado Synchronizing.
A página
Data Synchronization
exibe o status dos trabalhos de sincronização de dados.
