Pré-requisitos
- Acesso ao seu banco de dados PostgreSQL de origem.
- Uma instância do ClickHouse Managed Postgres para a qual você quer migrar seus dados.
- PeerDB instalado em uma máquina. Você pode seguir as instruções de instalação no repositório do GitHub do PeerDB. Basta clonar o repositório e executar
docker-compose up. Neste guia, usaremos a UI do PeerDB, que ficará acessível emhttp://localhost:3000assim que o PeerDB estiver em execução.
Considerações antes da migração
- Objetos do banco de dados: o PeerDB criará tabelas automaticamente no banco de dados de destino com base no esquema de origem. No entanto, determinados objetos do banco de dados, como índices, restrições e gatilhos, não serão migrados automaticamente. Você precisará recriar esses objetos manualmente no banco de dados de destino após a migração.
- Alterações de DDL: se você habilitar a replicação contínua, o PeerDB manterá o banco de dados de destino sincronizado com a origem para operações DML (INSERT, UPDATE, DELETE) e propagará operações ADD COLUMN. No entanto, outras alterações de DDL (como DROP COLUMN e ALTER COLUMN) não são propagadas automaticamente. Mais informações sobre o suporte a alterações de esquema aqui
- Conectividade de rede: certifique-se de que os bancos de dados de origem e de destino estejam acessíveis a partir da máquina em que o PeerDB está sendo executado. Talvez seja necessário configurar regras de firewall ou definições de Security Group para permitir a conectividade.
Criar peers
+ New peer.
Criação do peer de origem
Create peer para salvar o peer.
Criação do peer de destino
Create peer para salvar o peer de destino.
Agora, você deverá ver os peers de origem e de destino listados na seção “Peers”.
Obter o dump do esquema de origem
pg_dump para criar um dump somente do esquema do seu banco de dados PostgreSQL de origem:
Instalar o pg_dump
Instalar o pg_dump
Ubuntu:Atualize as listas de pacotes:Instale o cliente PostgreSQL:macOS:Método 1: usando Homebrew (recomendado)Instale o Homebrew se ainda não o tiver:Instale o PostgreSQL:Verifique a instalação:
Remova restrições UNIQUE e índices do dump do esquema
Aplicar o dump do esquema ao banco de dados de destino
psql e executando o arquivo de dump do esquema:
session_replication_role definido como replica:
Criar um mirror
+ New mirror.
- Dê ao seu mirror um nome que descreva a migração.
- Selecione os peers de origem e de destino que você criou anteriormente nos menus suspensos.
- Certifique-se de que:
- Soft delete esteja OFF.
- Expanda
Advanced settings. Certifique-se de que o sistema de tipos do Postgres esteja habilitado e de que as colunas do PeerDB estejam desabilitadas.
- Selecione as tabelas que você deseja migrar. Você pode escolher tabelas específicas ou selecionar todas as tabelas do banco de dados de origem.
Selecionando tabelasCertifique-se de que os nomes das tabelas de destino sejam os mesmos das tabelas de origem no banco de dados de destino, pois migramos o esquema exatamente como estava na etapa anterior.
- Depois de configurar as definições do mirror, clique no botão
Create mirror.
Aguarde a carga inicial
Monitoramento da carga inicial e da replicação
- Inicialmente, executamos uma consulta
COUNTpara estimar o número de linhas em cada tabela. - Em seguida, executamos uma consulta de particionamento com
NTILEpara dividir tabelas grandes em fragmentos menores e transferir os dados com mais eficiência. - Depois, executamos comandos
FETCHpara buscar dados do banco de dados de origem e, em seguida, o PeerDB os sincroniza com o banco de dados de destino.
Tarefas pós-migração
Essas etapas podem variar conforme o seu caso de uso e os requisitos da aplicação. O mais importante é garantir a consistência dos dados, minimizar o tempo de indisponibilidade e validar a integridade dos dados migrados antes de concluir a migração para o novo sistema.
- Execute verificações de validação pré-cutover
- Interrompa as escritas no sistema de origem
- Confirme se a replicação está totalmente sincronizada
- Recrie e habilite restrições, índices e gatilhos
replica:
- Redefina as sequências nas tabelas de destino
- Redirecione o tráfego da aplicação
- Direcione o tráfego de leitura para o ClickHouse Managed Postgres.
- Direcione o tráfego de gravação para o ClickHouse Managed Postgres.
- Monitore erros da aplicação, violações de restrições e a saúde do banco de dados.
- Limpe os recursos
Slots de replicaçãoSe você tiver ativado a replicação contínua, o PeerDB criará um slot de replicação no banco de dados PostgreSQL de origem. Após concluir a migração, exclua manualmente o slot de replicação do banco de dados de origem para evitar o uso desnecessário de recursos.
Referências
- Documentação do ClickHouse Managed Postgres
- Guia do PeerDB para criação de CDC
- FAQ do ClickPipe para Postgres (também se aplica ao PeerDB)
Próximas etapas
pg_dump e pg_restore. Agora, você já pode explorar os recursos do Managed Postgres e sua integração com o ClickHouse. Aqui está um guia de início rápido de 10 minutos para ajudar você a começar: