O Alibaba Cloud Data Transmission Service (DTS) oferece streaming de dados em tempo real e permite a troca de informações entre diversas fontes, como bancos de dados relacionais (RDBMS), não relacionais (NoSQL) e sistemas de processamento analítico online (OLAP). Use o DTS para migrar ou sincronizar dados de um banco de dados MySQL ou PostgreSQL para uma instância do ApsaraDB for SelectDB.
Fontes de dados e modos de transferência compatíveis
O DTS é compatível com bancos de dados de origem MySQL e PostgreSQL. As fontes MySQL incluem MySQL autogerenciado, ApsaraDB RDS for MySQL e PolarDB for MySQL. As fontes PostgreSQL abrangem PostgreSQL autogerenciado, ApsaraDB RDS for PostgreSQL e PolarDB for PostgreSQL. No ApsaraDB for SelectDB, você executa consultas em grandes volumes de dados com tempos de resposta inferiores a um segundo, processa dezenas de milhares de consultas pontuais simultâneas e realiza análises complexas de alto throughput.
Este tópico usa o ApsaraDB RDS for MySQL como exemplo para descrever a sincronização de esquemas, dados completos e dados incrementais para uma instância do ApsaraDB for SelectDB. Para documentação sobre outros mecanismos de banco de dados de origem ou modos de transferência, consulte References.
A sincronização de dados do DTS geralmente engloba a migração de dados existentes e a sincronização em tempo real de dados incrementais. A tabela a seguir compara a migração e a sincronização de dados.
|
Item de comparação |
Migração de dados |
Sincronização de dados |
|
Cenários |
Focada principalmente na migração para a nuvem, como transferir um banco de dados on-premises, um banco autogerenciado em uma instância ECS ou um banco de terceiros para um banco de dados da Alibaba Cloud. |
Voltada essencialmente para a sincronização de dados em tempo real entre duas fontes. Ideal para cenários como georredudância ativa, recuperação de desastres, sincronização transfronteiriça, descarregamento de consultas e relatórios, BI na nuvem e data warehouses em tempo real. |
|
Finalidade |
Geralmente usada para migrar dados históricos existentes. |
Normalmente empregada para migrar dados existentes e sincronizar dados incrementais em tempo real. |
|
Método de faturamento |
Suporta apenas pagamento conforme o uso. |
Aceita tanto pagamento conforme o uso quanto assinatura. |
|
Regras de faturamento |
A cobrança ocorre apenas durante a execução da migração de dados incrementais, excluindo períodos de pausa. A migração de esquema e a migração de dados completos são gratuitas. |
No modelo de pagamento conforme o uso, a cobrança acontece enquanto a sincronização incremental estiver ativa, incluindo períodos de pausa. A sincronização de esquema e de dados completos não gera custos. Na modalidade de assinatura, aplica-se uma taxa única baseada na configuração e quantidade escolhidas no momento da compra. |
Para mais detalhes, consulte What is the difference between data synchronization and data migration in DTS? e DTS FAQ.
Limitações
Antes de sincronizar dados do ApsaraDB RDS for MySQL para o ApsaraDB for SelectDB, considere as seguintes limitações:
Chaves das tabelas de origem — As tabelas a serem sincronizadas devem possuir chave primária ou restrição única, e os campos precisam ser exclusivos.
Modelo de dados de destino — Sincronize dados apenas para tabelas que usam o modelo de dados
uniqueem uma instância do ApsaraDB for SelectDB.Carga do banco de dados — Avalie o desempenho dos bancos de origem e destino antes de iniciar a sincronização. Execute o processo fora dos horários de pico. Caso contrário, a inicialização completa dos dados consumirá recursos de leitura e gravação de ambos os bancos e poderá aumentar significativamente a carga do sistema.
Operações DDL online — Durante a sincronização, não use ferramentas como pt-online-schema-change para executar operações DDL online nos objetos de sincronização no banco de origem. Do contrário, a sincronização falhará.
-
Gravações de outras fontes — Se alguma fonte externa ao DTS gravar dados no banco de destino durante a sincronização, poderá haver inconsistência entre os dados de origem e de destino.
As restrições abaixo aplicam-se a tipos específicos de bancos de dados de origem:
-
Para um banco de dados MySQL autogerenciado como origem:
A ocorrência de um failover entre primário e secundário no banco de origem durante a sincronização causará falha na tarefa.
-
O DTS calcula a latência comparando o timestamp do último registro sincronizado com a hora atual. Se nenhuma operação DML for executada por um longo período no banco de origem, o relatório de latência pode tornar-se impreciso. Caso a latência pareça excessivamente alta, execute uma operação DML no banco de origem para atualizá-la.
NotaAo selecionar um banco de dados completo para sincronização, crie uma tabela de heartbeat. Atualize ou grave nesta tabela a cada segundo.
Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS
testno banco de origem para avançar o offset do log binário.Se o banco de origem for Amazon Aurora MySQL ou outra instância MySQL em cluster, garanta que o nome de domínio ou endereço IP usado na configuração da tarefa — bem como sua resolução DNS — aponte sempre para um nó de leitura/gravação (RW). Caso contrário, a sincronização poderá falhar.
-
Para um banco de dados ApsaraDB RDS for MySQL como origem:
Instâncias somente leitura — como as do ApsaraDB RDS for MySQL 5.6 — que não registram logs de transação não podem servir como bancos de origem.
Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS
testno banco de origem para avançar o offset do log binário.
Para um banco de dados MySQL autogerenciado como origem:
A ocorrência de um failover entre primário e secundário no banco de origem durante a sincronização causará falha na tarefa.
O DTS calcula a latência comparando o timestamp do último registro sincronizado com a hora atual. Se nenhuma operação DML for executada por um longo período no banco de origem, o relatório de latência pode tornar-se impreciso. Caso a latência pareça excessivamente alta, execute uma operação DML no banco de origem para atualizá-la.
Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS
testno banco de origem para avançar o offset do log binário.Se o banco de origem for Amazon Aurora MySQL ou outra instância MySQL em cluster, garanta que o nome de domínio ou endereço IP usado na configuração da tarefa — bem como sua resolução DNS — aponte sempre para um nó de leitura/gravação (RW). Caso contrário, a sincronização poderá falhar.
Ao selecionar um banco de dados completo para sincronização, crie uma tabela de heartbeat. Atualize ou grave nesta tabela a cada segundo.
Para um banco de dados ApsaraDB RDS for MySQL como origem:
Instâncias somente leitura — como as do ApsaraDB RDS for MySQL 5.6 — que não registram logs de transação não podem servir como bancos de origem.
Periodicamente, o DTS executa o comando CREATE DATABASE IF NOT EXISTS
testno banco de origem para avançar o offset do log binário.
Pré-requisitos
Permissões
|
Banco de dados |
Permissões necessárias |
|
Origem: ApsaraDB RDS for MySQL |
Permissões de leitura e gravação nos objetos a serem sincronizados. |
|
Destino: ApsaraDB for SelectDB |
Permissão de acesso ao cluster ( |
Caso a conta do banco de origem não tenha sido criada e autorizada via console do ApsaraDB RDS for MySQL, assegure-se de que ela possua as permissões REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW e SELECT.
Para verificar as permissões da conta do banco de origem, consulte Permissões do MySQL.
Para modificar as permissões da conta do banco de origem, consulte Modify account permissions.
Logs binários no banco de origem
O log binário vem habilitado por padrão no ApsaraDB RDS for MySQL. Verifique as configurações abaixo antes de configurar a tarefa de sincronização:
Formato de imagem de linha — Confirme se
binlog_row_imageestá definido comofull. Caso contrário, ocorrerá um erro na pré-verificação e a tarefa de sincronização não iniciará. Para saber como configurar esse parâmetro, consulte Set instance parameters.Bancos MySQL autogerenciados — Se a instância de origem for um banco MySQL autogerenciado, ative o log binário, defina
binlog_formatcomorowe configurebinlog_row_imageparafull.Clusters com dois primários — Quando a instância MySQL autogerenciada de origem for um cluster dual-primary em que cada nó é réplica do outro, ative o parâmetro
log_slave_updatespara que o DTS consiga obter todos os logs binários. Mais informações em Create an account for a self-managed MySQL database and configure the binary log.Retenção de logs — O DTS exige que os logs binários locais do banco de origem sejam retidos por pelo menos sete dias. A falta dessa retenção pode impedir a obtenção dos logs e causar falha na tarefa. Em casos extremos, pode haver perda ou inconsistência de dados. Problemas decorrentes de um período de retenção inferior ao exigido pelo DTS não são cobertos pelo Acordo de Nível de Serviço (SLA) do DTS. Se a origem for uma instância ApsaraDB RDS for MySQL, consulte Manage local logs (binary logs).
Tabelas de destino
Caso prefira criar as tabelas de destino manualmente em vez de permitir que o DTS sincronize os esquemas, crie previamente tabelas com o modelo de dados unique na instância de destino do ApsaraDB for SelectDB antes de iniciar a tarefa. Para os tipos de colunas recomendados, veja Data type mappings. Para orientações sobre a decisão, consulte Configure the synchronization objects and advanced settings.
Procedimento
Configurar os bancos de dados de origem e destino
Faça login no console do ApsaraDB for SelectDB.
Na barra de navegação superior, selecione a região onde sua instância está localizada.
Na página Instances, clique em ID da instância desejada para acessar a página Instance Details.
Na página Instance Details, clique em Data Pipeline no painel de navegação à esquerda. No menu superior, selecione a aba Data Synchronization.
-
Clique em Create Synchronization Task e configure as informações dos bancos de origem e destino conforme a tabela abaixo.
Categoria
Configuração
Descrição
Informações da tarefa
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. Não é necessário que seja único.
Banco de dados de origem
Database Type
Selecione MySQL.
Access Method
Escolha Alibaba Cloud Instance.
Instance Region
Selecione a região da instância de origem do ApsaraDB RDS for MySQL.
RDS Instance ID
Escolha o ID da instância de origem do ApsaraDB RDS for MySQL.
Database Account
Insira a conta do banco de dados da instância de origem do ApsaraDB RDS for MySQL. Para detalhes sobre as permissões necessárias, consulte Permissions.
Database Password
Insira a senha correspondente à conta do banco de dados.
Encryption
Escolha Non-encrypted ou SSL-encrypted conforme necessário. Ao optar por SSL-encrypted, habilite previamente a criptografia SSL na instância RDS for MySQL. Mais informações em Use a cloud certificate to quickly enable SSL encryption.
Banco de dados de destino
Database Type
Selecione SelectDB.
Access Method
Escolha Alibaba Cloud Instance.
Instance Region
Selecione a região da instância de destino do ApsaraDB for SelectDB.
Instance ID
Escolha o ID da instância de destino do ApsaraDB for SelectDB.
Database Account
Insira a conta do banco de dados da instância de destino do ApsaraDB for SelectDB. Para detalhes sobre as permissões necessárias, consulte Permissions.
Database Password
Insira a senha correspondente à conta do banco de dados.
-
Após concluir a configuração, clique em Test Connection to Proceed na parte inferior da página.
Se o banco de origem ou destino for uma instância de banco de dados da Alibaba Cloud, como ApsaraDB for SelectDB, ApsaraDB RDS for MySQL ou ApsaraDB for MongoDB, o DTS adiciona automaticamente os endereços IP dos servidores DTS da região correspondente à lista de permissões da instância.
Adicionar faixas de endereços IP públicos dos servidores DTS, seja automaticamente pelo DTS ou manualmente, pode introduzir riscos de segurança. Ao utilizar este produto, você reconhece e aceita esses riscos potenciais. Aplique medidas básicas de segurança, incluindo, mas não se limitando a: fortalecer senhas de contas, limitar portas abertas em cada segmento de rede, usar autenticação na comunicação entre APIs internas e revisar ou restringir regularmente segmentos de rede desnecessários. Alternativamente, conecte-se via rede interna usando Express Connect, VPN gateway ou Smart Access Gateway.
Configurar objetos de sincronização e configurações avançadas
-
Configure os objetos da tarefa e as opções avançadas. A tabela a seguir detalha essas configurações.
Configuração
Descrição
Synchronization Types
Incremental Data Synchronization vem selecionado por padrão. Selecione também Schema Synchronization e Full Data Synchronization. Após a conclusão da pré-verificação, o DTS realiza uma sincronização completa dos dados dos objetos selecionados da instância de origem para o cluster de destino. Isso serve como base para a subsequente sincronização incremental.
A seleção ou não de Schema Synchronization determina o que deve ser preparado na instância de destino. Consulte a descrição após esta tabela para entender os dois cenários.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de destino. Se não existir, a pré-verificação é aprovada. Caso exista, a pré-verificação falha e a tarefa de sincronização não inicia.
NotaSe não for possível excluir ou renomear a tabela homônima no banco de destino, mapeie-a para um nome diferente. Para mais informações, consulte Map table and column names.
-
Ignore Errors and Proceed: Ignora a verificação de nomes duplicados no banco de destino.
AvisoSelecionar Ignore Errors and Proceed pode causar inconsistência de dados e colocar seu negócio em risco. Por exemplo:
-
Se os esquemas das tabelas forem idênticos e um registro no banco de destino tiver a mesma chave primária ou valor de chave única que um registro na origem:
-
Durante a sincronização completa, o DTS mantém o registro no cluster de destino. O registro correspondente da origem não será sincronizado.
-
Na sincronização incremental, o registro da origem sobrescreve o registro no banco de destino.
-
-
Se os esquemas forem diferentes, a sincronização inicial pode falhar. Isso pode resultar na sincronização parcial de colunas ou em uma falha total. Prossiga com cautela.
-
Capitalization of Object Names in Destination Instance
Configure a política de capitalização para nomes de bancos, tabelas e colunas dos objetos sincronizados na instância de destino. Por padrão, usa-se a DTS Default Policy: nomes de bancos e tabelas são convertidos para minúsculas, enquanto a capitalização das colunas segue a origem. Também é possível escolher outra política, como Same as Source ou Same as Target Default. Mais detalhes em Case policy for target database object names.
Source Objects
Na caixa Source Objects, clique nos objetos que deseja sincronizar e depois clique em
para movê-los para a caixa Selected Objects. A seleção pode ser feita no nível de banco, tabela ou coluna. Ao selecionar no nível de banco, novas tabelas adicionadas posteriormente não serão sincronizadas automaticamente. Se houver possibilidade de adicionar tabelas durante o uso do DTS, prefira selecionar objetos no nível de tabela. Posteriormente, ajuste essa seleção usando Modify Synchronization Objects na coluna Actions da lista de tarefas. Para edições no nível de tabela, como mapeamento de nomes de colunas, uma única tarefa suporta até 1.000 tabelas. Exceder esse limite gerará um erro ao enviar a tarefa. Nesse caso, divida as tabelas em múltiplas tarefas ou configure uma tarefa para todo o banco.Selected Objects
-
Para renomear um único objeto na instância de destino, clique com o botão direito nele na caixa Selected Objects. Para mais detalhes sobre renomeação, veja Map a single database, table, or column.
-
Para alterar em lote os nomes de vários objetos na instância de destino, clique em Batch Edit no canto superior direito da caixa Selected Objects. Mais informações em Map databases, tables, and columns in a batch.
Nota: Para selecionar quais operações SQL sincronizar no nível de banco ou tabela, clique com o botão direito no objeto desejado em Selected Objects e escolha as operações na caixa de diálogo exibida. Consulte SQL operations supported for incremental synchronization para ver as operações suportadas. Para filtrar dados usando uma condição
WHERE, clique com o botão direito na tabela alvo em Selected Objects e defina o filtro na caixa de diálogo. Veja Configure filter conditions para detalhes. Atenção: ao usar o recurso de mapeamento de nomes, a sincronização de outros objetos dependentes pode falhar.Sua escolha em Synchronization Types define quem cria as tabelas de destino:
Se você selecionar Schema Synchronization — Defina a estrutura da tabela de destino na próxima etapa, Configure the destination table schemas and fields. Caso uma tabela de origem não tenha chave primária ou restrição única, configure-a para usar o modelo de dados
uniquenessa fase e especifique manualmente a coluna de chave primária.Se você não selecionar Schema Synchronization — Crie antecipadamente tabelas com o modelo de dados
uniquee o esquema necessário na instância de destino do ApsaraDB for SelectDB. Neste cenário, a etapa de configuração de esquemas e campos de destino não estará disponível. Para mais informações, consulte Data type mappings e Data Models.
-
Na parte inferior da página, expanda Advanced (opcional) para ajustar as configurações avançadas. A tabela abaixo descreve essas opções.
Configuração | Descrição |
Dedicated Cluster for Task Scheduling | Por padrão, o DTS agenda tarefas em um cluster compartilhado, sem necessidade de seleção. Para maior estabilidade, adquira um cluster dedicado para executar tarefas de sincronização do DTS. Saiba mais em What is a DTS dedicated cluster?. |
Retry Time for Failed Connections | Se a conexão com a origem ou destino falhar após o início da tarefa, o DTS reportará um erro e tentará reconectar imediatamente. A duração padrão de tentativa é de 720 minutos. Personalize esse intervalo entre 10 e 1.440 minutos. Recomendamos definir pelo menos 30 minutos. Se a reconexão for bem-sucedida dentro desse prazo, a tarefa retomará automaticamente; caso contrário, ela falhará. Nota
|
Retry Time for Other Issues | Se problemas não relacionados à conectividade ocorrerem (como exceções em DDL ou DML) após o início da tarefa, o DTS reportará erro e iniciará retentativas contínuas. A duração padrão é de 10 minutos, personalizável entre 1 e 1.440 minutos. Recomendamos pelo menos 10 minutos. Se as operações forem bem-sucedidas dentro desse período, a tarefa retomará automaticamente; caso contrário, falhará. Importante
O valor de Retry Time for Other Issues deve ser menor que o de Retry Time for Failed Connections. |
Enable Throttling for Full Data Synchronization | Na fase de sincronização completa, o DTS consome recursos de leitura e gravação da origem e do destino, aumentando a carga. Para mitigar isso, defina limites de taxa configurando os parâmetros Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Nota
|
Enable Throttling for Incremental Data Synchronization | Defina limites também para a sincronização incremental. Para aliviar a pressão no banco de destino, configure RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s). |
Environment Tag | Selecione uma tag de ambiente para identificar a instância conforme sua necessidade. Nenhuma tag é obrigatória neste exemplo. |
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks | Decida se deseja gravar informações SQL de heartbeat no banco de origem enquanto a instância DTS estiver ativa.
|
Configure ETL | Decida se deseja ativar o recurso de extração, transformação e carga (ETL). Para mais informações, consulte What is ETL? Valores válidos:
|
Monitoring and Alerting | Defina se deseja configurar alertas. Se a sincronização falhar ou a latência ultrapassar o limiar definido, uma notificação será enviada ao contato de alerta.
|
Configurar esquemas e campos das tabelas de destino
-
(Opcional) Após concluir as configurações anteriores, clique em Next: Configure Database and Table Fields para definir a Primary Key Column, a Distribution Key e o Engine das tabelas a serem sincronizadas na instância de destino.
Esta etapa só está disponível se Synchronization Types incluir Schema Synchronization na configuração dos objetos. Defina Definition Status como All para realizar modificações.
Em Primary Key Column, selecione várias colunas para formar uma chave primária composta. Além disso, escolha uma ou mais colunas de Primary Key Column para atuar como Distribution Key. Para Engine, a única opção disponível é unique.
Salvar configurações e executar pré-verificação
O DTS executa uma pré-verificação antes de iniciar a tarefa de sincronização. A tarefa só começa após a aprovação nessa etapa.
-
Salve a tarefa e inicie a pré-verificação.
Para visualizar os parâmetros usados na chamada de API desta configuração, passe o mouse sobre o botão Next: Save Task Settings and Precheck. Em seguida, clique em Preview OpenAPI parameters na mensagem exibida.
Se não precisar ver os parâmetros da API ou já tiver terminado, clique em Next: Save Task Settings and Precheck na parte inferior da página.
-
Trate o resultado da pré-verificação da seguinte forma:
Itens reprovados — Clique em View Details ao lado do item reprovado, corrija o problema conforme indicado e execute a pré-verificação novamente.
Alertas que não podem ser ignorados — Clique em View Details ao lado do item, corrija o problema e refaça a pré-verificação.
Alertas ignoráveis — Clique sequencialmente em View Alert Details, Confirm Ignore, OK e Run Pre-check Again para pular esses avisos e reiniciar a verificação. Pular alertas pode causar inconsistência de dados e riscos ao negócio.
Quando Precheck Pass Rate atingir 100%, clique em Next: Purchase.
Adquirir a instância e iniciar a tarefa
-
Na página Purchase Instance, escolha o método de faturamento e a classe da instância de sincronização. Consulte a tabela abaixo para detalhes.
Categoria
Parâmetro
Descrição
New Instance Class
Método de faturamento
Subscription: Pagamento antecipado na criação. Ideal para uso prolongado, sendo mais econômico que o pagamento conforme o uso, com descontos progressivos conforme o prazo. Pay-as-you-go: Cobrança horária. Adequado para uso temporário, permitindo liberação imediata para reduzir custos.
Configurações de grupo de recursos
Grupo de recursos ao qual a instância pertence. O padrão é default resource group. Mais informações em What is Resource Management.
Classe da instância de sincronização
O DTS oferece classes com diferentes níveis de desempenho que afetam a velocidade de sincronização. Escolha conforme seu cenário de negócio. Veja Specifications of data synchronization instances.
Duração da assinatura
No modelo Subscription, defina a duração e a quantidade. Opções mensais de 1 a 9 meses ou anuais de 1, 2, 3 ou 5 anos. Nota: Esta opção só aparece quando o método é Subscription.
Após configurar, leia e aceite os Data Transmission (Pay-As-You-Go) Terms of Service.
-
Clique em Buy and Start.
A tarefa de sincronização será iniciada. Acompanhe o progresso na página Data Synchronization.
Operações SQL compatíveis na sincronização incremental
A tabela abaixo lista as operações SQL que o DTS sincroniza durante a fase incremental.
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE, DELETE |
|
DDL |
ADD COLUMN; DROP COLUMN, DROP TABLE; TRUNCATE TABLE |
Mapeamentos de tipos de dados
Os tipos de dados são convertidos durante a sincronização do MySQL para o ApsaraDB for SelectDB. A tabela a seguir mostra os mapeamentos aplicados pelo DTS.
|
Categoria |
Tipo de dado MySQL |
Tipo de dado ApsaraDB for SelectDB |
|
Numérico |
TINYINT |
TINYINT |
|
TINYINT UNSIGNED |
SMALLINT |
|
|
SMALLINT |
SMALLINT |
|
|
SMALLINT UNSIGNED |
INT |
|
|
MEDIUMINT |
INT |
|
|
MEDIUMINT UNSIGNED |
BIGINT |
|
|
INT |
INT |
|
|
INT UNSIGNED |
BIGINT |
|
|
BIGINT |
BIGINT |
|
|
BIGINT UNSIGNED |
LARGEINT |
|
|
BIT(M) |
INT |
|
|
DECIMAL |
DECIMAL |
|
|
NUMERIC |
DECIMAL |
|
|
FLOAT |
FLOAT |
|
|
DOUBLE |
DOUBLE |
|
|
BOOL, BOOLEAN |
BOOLEAN |
|
|
Data e hora |
DATE |
DATEV2 |
|
DATETIME[(fsp)] |
DATETIMEV2 |
|
|
TIMESTAMP[(fsp)] |
DATETIMEV2 |
|
|
TIME[(fsp)] |
VARCHAR |
|
|
YEAR[(4)] |
INT |
|
|
String |
CHAR, VARCHAR |
VARCHAR |
|
BINARY, VARBINARY |
STRING |
|
|
TINYTEXT, TEXT, MEDIUMTEXT, LONGTEXT |
STRING |
|
|
TINYBLOB, BLOB, MEDIUMBLOB, LONGBLOB |
STRING |
|
|
ENUM |
STRING |
|
|
SET |
STRING |
|
|
JSON |
STRING |
Regras específicas aplicam-se às seguintes conversões:
DECIMAL — O atributo
zerofillnão é suportado.CHAR e VARCHAR — Para evitar perda de dados,
CHAReVARCHAR(n)são convertidos paraVARCHAR(3*n)ao serem sincronizados no ApsaraDB for SelectDB. Sem definição de comprimento, usa-se o padrãoVARCHAR(65533). Se o tamanho exceder 65.533, o tipo será convertido paraSTRINGno destino.
Perguntas frequentes
P: Qual a diferença entre sincronização e migração de dados no DTS?
R: Os modos diferem em cenários, finalidade e faturamento. Para uma comparação detalhada, consulte Supported data sources and transfer modes.
P: Posso adicionar campos a uma tabela de origem?
R: Sim. As operações ADD COLUMN e DROP COLUMN são suportadas e sincronizadas automaticamente pelo DTS. Para outras instruções suportadas na sincronização incremental, veja SQL operations supported for incremental synchronization.
P: A sincronização de novas tabelas (CREATE TABLE) é suportada?
R: Depende da granularidade escolhida em Source Objects:
Na seleção por banco de dados, novas tabelas não são sincronizadas automaticamente. Contudo, crie a tabela correspondente manualmente no ApsaraDB for SelectDB, e o DTS sincronizará seus dados automaticamente.
Na seleção por tabela, use a opção Modify Synchronization Objects na coluna Actions da lista de tarefas para adicionar a nova tabela.
P: Como lidar com tabelas sem chave primária ou restrição única?
R: Utilize a sincronização de esquema para definir uma chave primária: configure a tabela para usar o modelo de dados unique e especifique manualmente a coluna de chave primária. Para mais detalhes sobre este fluxo, consulte Configure the synchronization objects and advanced settings.
Referências
Para sincronizar ou migrar dados de outros mecanismos de banco de origem, consulte o tópico correspondente ao seu banco e modo de transferência.
|
Banco de origem |
Migrar dados existentes |
Sincronizar esquemas, dados completos e incrementais |
|
ApsaraDB RDS for MySQL |
Migrate data from ApsaraDB RDS for MySQL to ApsaraDB for SelectDB |
Synchronize data from ApsaraDB RDS for MySQL to ApsaraDB for SelectDB |
|
PolarDB for MySQL |
Migrate data from PolarDB for MySQL to ApsaraDB for SelectDB |
Synchronize data from PolarDB for MySQL to ApsaraDB for SelectDB |
|
ApsaraDB RDS for PostgreSQL |
Migrate data from ApsaraDB RDS for PostgreSQL to ApsaraDB for SelectDB |
Synchronize data from ApsaraDB RDS for PostgreSQL to ApsaraDB for SelectDB |
|
PolarDB for PostgreSQL |
Migrate data from PolarDB for PostgreSQL to ApsaraDB for SelectDB |
Synchronize data from PolarDB for PostgreSQL to ApsaraDB for SelectDB |