Este tópico descreve como usar o DTS para migrar dados de um cluster PolarDB for PostgreSQL para uma instância ApsaraDB RDS for PostgreSQL.
Pré-requisitos
Você criou um cluster de banco de dados PolarDB for PostgreSQL de origem. Para mais informações, consulte crie um cluster de banco de dados.
Você criou uma instância de destino do ApsaraDB RDS for PostgreSQL. Para mais informações, consulte crie uma instância RDS.
Você definiu o parâmetro
wal_leveldo cluster PolarDB for PostgreSQL de origem comological. Para mais informações, consulte defina os parâmetros do cluster.O banco de dados de destino deve ter mais espaço de armazenamento do que o utilizado pelo banco de dados de origem.
Precauções
O DTS migra chaves estrangeiras durante a migração de schema.
Durante a migração de dados completa e incremental, o DTS desativa temporariamente as verificações de restrições e as cascatas de chaves estrangeiras no nível da sessão. Atualizações ou exclusões em cascata no banco de dados de origem durante a execução da tarefa podem causar inconsistência de dados.
O DTS não oferece suporte à migração completa em múltiplas etapas; a migração completa deve ser concluída em uma única operação. Se você precisar migrar dados em lotes, configure várias tarefas de migração.
|
Tipo |
Descrição |
|
Limites do banco de dados de origem |
|
|
Outros limites |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de Internet |
|
Migração de schema e migração completa de dados |
Gratuito. |
Quando o parâmetro Access Method do banco de dados de destino é definido como Public IP Address, há cobrança pelo tráfego de Internet. Para mais informações, consulte Billing overview. |
|
Migração incremental de dados |
Há cobrança. Para mais informações, consulte Billing overview. |
Tipos de migração
-
Migração de schema
O DTS migra as definições de schema dos objetos de migração do banco de dados de origem para o banco de dados de destino.
-
Migração completa
O DTS migra todos os dados históricos dos objetos de migração especificados do banco de dados de origem para o banco de dados de destino.
-
Migração incremental
Após a conclusão de uma migração completa, o DTS migra as atualizações incrementais de dados do banco de dados de origem para o banco de dados de destino. A migração incremental permite migrar dados de forma contínua sem interromper aplicações autogerenciadas.
Objetos de migração suportados
SCHEMA, TABLE
Inclui PRIMARY KEY, UNIQUE KEY, FOREIGN KEY, DATATYPE (tipos de dados integrados) e DEFAULT CONSTRAINT.
Ao usar este tipo de banco de dados como origem, os recursos compatíveis podem variar dependendo do tipo de banco de dados de destino. Para obter informações mais precisas, consulte as opções exibidas no console.
Operações SQL que suportam migração incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE e DELETE |
|
DDL |
|
Requisitos de permissão para contas de banco de dados
|
Tipo de banco de dados |
Migração de schema |
Migração completa de dados |
Migração incremental de dados |
Ações |
|
PolarDB for PostgreSQL |
Conta privilegiada |
|||
|
RDS PostgreSQL |
Permissões CREATE e USAGE nos objetos de origem |
Permissões de proprietário do schema |
Permissões de proprietário do schema |
|
Procedimento
-
Para iniciar, acesse a página da lista de tarefas de migração para a região de destino usando um dos seguintes métodos.
A partir do console do DTS
Faça login no Data Transmission Service (DTS) console.
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
A partir do console do DMS
NotaAs operações reais podem variar com base no modo e no layout do console do DMS. Para mais informações, consulte Simple mode console e Customize the layout and style of the DMS console.
Faça login no Data Management (DMS) console.
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task para acessar a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
Categoria
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome de tarefa. Recomendamos especificar um nome descritivo para fácil identificação. O nome não precisa ser exclusivo.
Source Database
Database Type
Selecione PolarDB for PostgreSQL.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde o cluster PolarDB for PostgreSQL de origem está localizado.
Replicate Data Across Alibaba Cloud Accounts
Como este exemplo demonstra a migração dentro da mesma conta Alibaba Cloud, selecione No.
Instance ID
Selecione o ID do cluster PolarDB for PostgreSQL de origem.
Database Name
insira o nome do banco de dados PolarDB for PostgreSQL de origem.
Database Account
insira a conta do banco de dados PolarDB for PostgreSQL de origem.
Database Password
insira a senha que corresponde à conta do banco de dados.
Destination Database
Database Type
Selecione PostgreSQL.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância ApsaraDB RDS for PostgreSQL de destino está localizada.
Instance ID
Selecione o ID da instância ApsaraDB RDS for PostgreSQL de destino.
Database Name
insira o nome do banco de dados na instância ApsaraDB RDS for PostgreSQL de destino que armazenará os objetos migrados.
Database Account
insira a conta da instância ApsaraDB RDS for PostgreSQL de destino.
Database Password
insira a senha que corresponde à conta do banco de dados.
Encryption
Especifica se a conexão com o banco de dados de origem deve ser criptografada. Configure este parâmetro com base nos seus requisitos de negócios. Neste exemplo, Non-encrypted está selecionado.
Para estabelecer uma conexão criptografada por SSL com o banco de dados de origem, execute as seguintes etapas: selecione SSL-encrypted, carregue o CA Certificate, o Client Certificate e a Private Key of Client Certificate conforme necessário e, em seguida, especifique a Private Key Password of Client Certificate.
Nota-
Se você definir Encryption como SSL-encrypted para um banco de dados PostgreSQL autogerenciado, carregue o CA Certificate.
-
Para usar o certificado de cliente, carregue o Client Certificate e a Private Key of Client Certificate e especifique a Private Key Password of Client Certificate.
-
Para obter informações sobre como configurar a criptografia SSL para uma instância ApsaraDB RDS for PostgreSQL, consulte SSL encryption.
-
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
NotaCertifique-se de que os blocos CIDR de endereços IP dos servidores DTS estejam adicionados às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso. Essa adição pode ser automática ou manual. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.
Se o banco de dados de origem ou de destino for um banco de dados autogerenciado (onde o Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que você deseja migrar.
Parâmetro
Descrição
Migration Types
Para executar apenas uma migração completa, selecione Schema Migration e Full Data Migration.
Para executar uma migração sem tempo de inatividade, selecione Schema Migration, Full Data Migration e Incremental Data Migration.
NotaCaso não selecione Schema Migration, garanta a existência de um banco de dados e de tabelas para receber os dados no banco de dados de destino. Se necessário, use o recurso de mapeamento de nomes de objetos na caixa Selected Objects.
Caso não selecione Incremental Data Migration, não grave novos dados na instância de origem durante a migração para garantir a consistência dos dados.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Verifica a existência de tabelas com os mesmos nomes no banco de dados de destino. Se não houver tabelas com nomes iguais, a pré-verificação é aprovada. Caso existam, um erro é relatado durante a pré-verificação e a tarefa de migração de dados não é iniciada.
NotaSe uma tabela no banco de dados de destino tiver o mesmo nome, mas não puder ser facilmente excluída ou renomeada, altere o nome da tabela no banco de dados de destino. Para mais informações, consulte Object name mapping.
-
Ignore Errors and Proceed: Ignora a verificação de tabelas com os mesmos nomes.
AvisoA seleção de Ignore Errors and Proceed pode causar inconsistência de dados e riscos ao negócio. Por exemplo:
-
Se os schemas das tabelas forem consistentes e um registro no banco de dados de destino tiver o mesmo valor de chave primária que um registro no banco de dados de origem:
-
Durante a migração completa, o DTS mantém o registro no banco de dados de destino. O registro do banco de dados de origem não é migrado.
-
Durante a migração incremental, o DTS não mantém o registro no banco de dados de destino. O registro do banco de dados de origem sobrescreve o registro no banco de dados de destino.
-
-
Se os schemas das tabelas forem inconsistentes, apenas algumas colunas de dados podem ser migradas, ou a migração pode falhar. Prossiga com cautela.
-
Case Sensitivity Policy for Destination Object Names
Configure a política de diferenciação de maiúsculas e minúsculas para os nomes dos objetos migrados (como bancos de dados, tabelas e colunas) na instância de destino. Por padrão, a DTS default policy está selecionada. Você também pode optar por manter a diferenciação consistente com a política padrão do banco de dados de origem ou de destino. Para mais informações, consulte Case sensitivity of object names in the destination database.
Source Objects
Na caixa Source Objects, clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.Nota-
selecione objetos no nível do schema ou da tabela. Ao selecionar tabelas, outros objetos, como visualizações, gatilhos e procedimentos armazenados, não serão migrados.
-
Se uma tabela a ser migrada contiver colunas do tipo SERIAL e você tiver selecionado Migration Types para Schema Migration, selecione também Sequence ou migre o schema inteiro.
Selected Objects
Para alterar o nome de um único objeto de migração na instância de destino, clique com o botão direito do mouse no objeto na caixa Selected Objects. Para mais informações sobre como definir o nome, consulte Map a single table or column name.
Para alterar os nomes de vários objetos de migração em lote, clique em Batch Edit no canto superior direito da caixa Selected Objects. Para mais informações sobre como definir os nomes, consulte Map multiple table or column names in a batch.
NotaO uso do recurso de mapeamento de nomes de objetos pode causar falha na migração de outros objetos que dependem do objeto mapeado.
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado, não sendo necessário selecionar um. Para tarefas mais estáveis, adquira um dedicated cluster para executar tarefas de migração do DTS.
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou de destino falhar, o DTS relatará um erro e começará imediatamente a tentar reconectar. A duração padrão da nova tentativa é de 720 minutos. Personalize o tempo de nova tentativa para um valor entre 10 e 1440 minutos. Recomendamos definir a duração para mais de 30 minutos. Se o DTS reconectar aos bancos de dados de origem e de destino dentro da duração especificada, a tarefa de migração será retomada automaticamente; caso contrário, a tarefa falhará.
NotaPara várias instâncias do DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como há cobrança pela tarefa durante o período de nova tentativa de conexão, recomendamos personalizar o tempo de nova tentativa com base nas suas necessidades de negócios ou liberar a instância do DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e de destino.
Retry Time for Other Issues
Após o início da tarefa de migração, se ocorrer um problema de não conectividade, como uma exceção de execução DDL ou DML, no banco de dados de origem ou de destino, o DTS relatará um erro e começará imediatamente a tentar novamente a operação. A duração padrão da nova tentativa é de 10 minutos. Personalize o tempo de nova tentativa para um valor entre 1 e 1440 minutos. Recomendamos definir a duração para mais de 10 minutos. Se as operações relacionadas forem bem-sucedidas dentro da duração especificada, a tarefa de migração será retomada automaticamente; caso contrário, a tarefa falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o valor de Retry Time for Failed Connections.
Enable Throttling for Full Data Migration
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Se necessário, ative o limitador para a tarefa de migração completa. Para reduzir a carga no banco de dados de destino, defina Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s).
NotaEste item de configuração está disponível apenas se Full Data Migration estiver selecionado em Migration Types.
Você também pode adjust the full migration speed após a instância de migração estar em execução.
Enable Throttling for Incremental Data Migration
Se necessário, defina limites de velocidade para a tarefa de migração incremental. Para reduzir a carga no banco de dados de destino, defina RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s).
NotaEste item de configuração está disponível apenas se Incremental Data Migration estiver selecionado em Migration Types.
Você também pode adjust the incremental migration speed após a instância de migração estar em execução.
Environment Tag
Selecione uma tag de ambiente para identificar a instância. Isso não é necessário para este exemplo.
Configure ETL
escolha se deseja ativar o recurso de extração, transformação e carregamento (ETL). Para mais informações, consulte What is ETL? Valores válidos:
-
Yes: Ativa o recurso ETL. Insira instruções de processamento de dados no editor de código. Para mais informações, consulte Configure ETL in a data migration or data synchronization task.
-
No: Desativa o recurso ETL.
Monitoring and Alerting
Aqui, defina se deseja configurar alertas e receber notificações com base nas suas necessidades de negócios.
No: Não define alertas.
Yes: Configure alertas definindo um alert threshold e um notificações de alerta. Se uma migração falhar ou a latência exceder o limiar, o sistema enviará uma notificação de alerta.
-
Clique em Next Data Verification para configurar uma tarefa de validação de dados.
Para mais informações sobre o recurso de validação de dados, consulte Configure data validation.
-
-
Agora, salve a tarefa e execute uma pré-verificação.
visualize os parâmetros de configuração desta instância ao chamar a operação da API, passe o ponteiro do mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters na dica exibida.
Se não for necessário visualizar os parâmetros da API ou se você já terminou de visualizá-los, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes do início da tarefa de migração, o DTS executa uma pré-verificação. A tarefa só é iniciada após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item de verificação com falha, corrija o problema conforme a instrução e execute a pré-verificação novamente.
-
Se um aviso for relatado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema conforme a instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, confirme o alerta clicando em Confirm Alert Details, Ignore, OK e Precheck Again para ignorar o item de alerta e executar a pré-verificação novamente. Ignorar um aviso pode causar problemas como inconsistência de dados e apresentar riscos ao seu negócio.
-
Adquira a instância.
Quando a Success Rate for de 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione a especificação do link para a instância de migração de dados. Para mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
New Instance Class
Resource Group Settings
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é o grupo de recursos padrão. Para mais informações, consulte What is resource management?
Instance Class
O DTS fornece especificações de migração com diferentes níveis de desempenho. A especificação do link afeta a velocidade da migração. Selecione uma especificação com base no seu cenário de negócios. Para mais informações, consulte Data migration link specifications.
Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Clique em Buy and Start. Na caixa de diálogo OK que aparece, clique em OK.
Você pode visualizar o progresso da tarefa de migração na página da lista Data Migration Tasks.
NotaSe a tarefa de migração não incluir migração incremental, ela será interrompida automaticamente após a conclusão da migração completa. Após a interrupção, o Status mudará para Completed.
Se a tarefa de migração incluir migração incremental, ela não será interrompida automaticamente e continuará em execução. Enquanto a tarefa de migração incremental estiver em execução, o Status da tarefa será Running.