O Tablestore é um sistema de armazenamento de dados estruturados multimodelo desenvolvido pela Alibaba Cloud que oferece armazenamento massivo de dados estruturados, consultas rápidas e service de análise. Use o Data Transmission Service (DTS) para sincronizar dados de um banco de dados MySQL para uma instância do Tablestore.
Pré-requisitos
Crie uma Tablestore instance.
Obtenha o AccessKey ID e o AccessKey Secret da conta Alibaba Cloud (site china) ou do usuário do Resource Access Management (RAM) proprietário da instância do Tablestore. Para mais informações, consulte Create an Alibaba Cloud account AccessKey (Not recommended).
Observações de uso
|
Categoria |
Descrição |
|
Limitações do banco de dados de origem |
|
|
Outras limitações |
|
|
Casos especiais |
|
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. |
Operações SQL suportadas para sincronização incremental
|
Tipo de operação |
Instrução SQL |
|
DML |
INSERT, UPDATE, DELETE |
Permissões necessárias para contas de banco de dados
|
Banco de dados |
Permissões necessárias |
Criação e autorização de conta |
|
Origem ApsaraDB RDS for MySQL |
Permissões de leitura e gravação nos objetos a serem sincronizados |
Se a conta do banco de dados de origem não for criada usando o console do ApsaraDB RDS for MySQL, certifique-se de que a conta tenha as permissões REPLICATION CLIENT, REPLICATION SLAVE, SHOW VIEW e SELECT.
Procedimento
-
Acesse a página da lista de tarefas de sincronização da região de destino. Use um dos dois métodos a seguir:
Pelo console do DTS
Faça login no Data Transmission Service (DTS) console.
No painel de navegação à esquerda, clique em Data Synchronization.
No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.
Pelo console do DMS
NotaAs operações reais podem variar dependendo do modo e do layout do console do DMS. Para mais informações, consulte Simple mode e Customize the layout and style of the DMS interface.
Faça login no Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.
Clique em Create Task para abrir a página de configuração da tarefa.
-
Configure os bancos de dados de origem e de destino.
Categoria
Configuração
Descrição
N/A
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomendamos especificar um nome descritivo para facilitar a identificação. O nome não precisa ser único.
Source Database
Select a DMS database instance.
Selecione uma instância existente conforme necessário.
-
Se usar uma instância existente, as informações do banco de dados serão preenchidas automaticamente. Não é necessário inseri-las novamente.
-
Se não usar uma instância existente, configure as seguintes informações do banco de dados.
Nota-
No console do DMS, clique em Add DMS Database Instance para adicionar uma instância de banco de dados. Para mais informações, consulte Add a cloud database instance e Add a database instance from another cloud or a self-managed database.
-
No console do DTS, adicione um banco de dados ao DTS na página Database Connections ou na nova página de configuração. Para mais informações, consulte Data Connection Management.
Database Type
Selecione MySQL.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região da instânciaApsaraDB RDS for MySQLde origem.
Replicate Data Across Alibaba Cloud Accounts
Este exemplo usa uma instância de banco de dados pertencente à conta Alibaba Cloud atual. Selecione No.
RDS Instance ID
Selecione o ID da instânciaApsaraDB RDS for MySQLde origem.
Database Account
Insira a conta do banco de dadosApsaraDB RDS for MySQLde origem. Para informações sobre permissões, consulteRequired permissions for database accounts.
Database Password
Insira a senha correspondente à conta do banco de dados.
Encryption
Selecione Non-encrypted ou SSL-encrypted conforme necessário. Se selecionar SSL-encrypted, ative a criptografia SSL para a instância RDS for MySQL antecipadamente. Para mais informações, consulte Use a cloud certificate to quickly enable SSL encryption.
Destination Database
Select a DMS database instance.
Selecione uma instância existente conforme necessário.
-
Se usar uma instância existente, as informações do banco de dados serão preenchidas automaticamente. Não é necessário inseri-las novamente.
-
Se não usar uma instância existente, configure as seguintes informações do banco de dados.
Nota-
No console do DMS, clique em Add DMS Database Instance para adicionar uma instância de banco de dados. Para mais informações, consulte Add a cloud database instance e Add a database instance from another cloud or a self-managed database.
-
No console do DTS, adicione um banco de dados ao DTS na página Database Connections ou na nova página de configuração. Para mais informações, consulte Data Connection Management.
Database Type
Selecione Tablestore.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região da instância do Tablestore de destino.
Instance ID
Selecione o ID da instância do Tablestore de destino.
AccessKey ID of Alibaba Cloud Account
Insira o AccessKey ID da conta Alibaba Cloud.
ImportanteSe inserir o AccessKey ID de um usuário RAM, a tarefa pode falhar devido a permissões insuficientes.
AccessKey Secret of Alibaba Cloud Account
Insira o AccessKey Secret da conta Alibaba Cloud.
-
-
Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.
Se o banco de dados de origem ou de destino for uma instância de banco de dados Alibaba Cloud, como uma instância RDS for MySQL ou ApsaraDB for MongoDB, o DTS adiciona automaticamente os endereços IP dos servidores DTS na região correspondente à lista de permissões da instância. Se a origem ou o destino for um banco de dados autogerenciado hospedado em uma instância ECS, o DTS adiciona automaticamente os endereços IP dos servidores DTS às regras de segurança da instância ECS. Você também deve garantir que o banco de dados autogerenciado permita acesso da instância ECS. Se o banco de dados estiver implantado em um cluster em várias instâncias ECS, adicione manualmente os endereços IP dos servidores DTS às regras de segurança de cada instância ECS. Se a origem ou o destino for um banco de dados autogerenciado em um IDC ou de outro provedor de cloud, adicione manualmente os endereços IP dos servidores DTS na região correspondente para permitir o acesso. Para mais informações sobre os endereços IP dos servidores DTS, consulte IP address CIDR blocks of DTS servers.
AvisoAdicionar os blocos CIDR de endereços IP públicos dos servidores DTS, seja automática ou manualmente, pode apresentar riscos de segurança. Ao usar 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/restringir regularmente blocos CIDR desnecessários. Alternativamente, conecte-se ao banco de dados por uma rede interna, como uma linha dedicada, VPN Gateway ou Smart Access Gateway.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos a serem sincronizados.
Configuração
Descrição
Synchronization Types
Incremental Data Synchronization está selecionado. Por padrão, selecione também Schema Synchronization e Full Data Synchronization. Após a pré-verificação, o DTS realiza uma sincronização completa dos objetos selecionados da instância de origem para o cluster de destino. Isso serve como base para a subsequente sincronização incremental.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Verifica se existe uma tabela com o mesmo nome no banco de dados de destino. Se não existir, a pré-verificação é aprovada. Se existir, 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 dados 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 de tabela duplicados no banco de dados 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 iguais e um registro no banco de dados 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 é sincronizado.
-
Durante a sincronização incremental, o registro da origem sobrescreve o registro no banco de dados de destino.
-
-
Se os esquemas das tabelas forem diferentes, a sincronização inicial pode falhar. Isso pode resultar na sincronização parcial de colunas ou falha total. Prossiga com cautela.
-
Operation Types
Selecione os tipos de operação a serem sincronizados conforme suas necessidades de negócio. Por padrão, todos os tipos estão selecionados.
Processing Policy of Dirty Data
Selecione a política para lidar com erros de gravação de dados. Valores válidos:
-
Skip
-
Block
Data Write Mode
Selecione o modo de gravação de dados. Valores válidos:
-
Overwrite Row: UpdateRowChange realiza sobrescrita no nível de linha.
-
Update Row: PutRowChange realiza atualização no nível de linha.
Batch Write Mode
API de gravação em lote. Valores válidos:
-
BulkImportRequest: gravação offline.
-
BatchWriteRowRequest: gravação em lote.
NotaRecomendamos selecionar BulkImportRequest, que oferece maior eficiência de leitura/gravação e custos menores para a instância do Tablestore.
More
Clique em More para configurar os seguintes parâmetros conforme suas necessidades:
-
Queue Size: tamanho da fila do processo de gravação de dados para a instância do Tablestore.
-
Thread Quantity: número de threads de processamento de callback para o processo de gravação de dados da instância do Tablestore.
-
Concurrency: limite de requisições simultâneas para a instância do Tablestore.
-
Buckets: concorrência de buckets para gravações incrementais sequenciais. Aumentar esse valor adequadamente pode melhorar o desempenho de gravação simultânea.
NotaBuckets deve ser menor ou igual a Concurrency.
Capitalization of Object Names in Destination Instance
Configure a política de diferenciação de maiúsculas/minúsculas para nomes de objetos de banco de dados, tabelas e colunas sincronizados na instância de destino. Por padrão, a DTS default policy está selecionada. Também é possível usar as políticas padrão dos bancos de dados de origem e destino. Para mais informações, consulte Case sensitivity policy for destination object names.
Source Objects
Na caixa Source Objects, clique em um objeto para sincronizar e, em seguida, clique em
para movê-lo para a caixa Selected Objects.NotaSelecione objetos de sincronização no nível de banco de dados ou tabela.
Selected Objects
-
Para renomear um único objeto de sincronização na instância de destino, clique com o botão direito no objeto na caixa Selected Objects. Para mais informações sobre renomeação, consulte Map a single database, table, or column.
-
Para alterar os nomes de vários objetos de sincronização em lote na instância de destino, clique em Batch Edit no canto superior direito da caixa Selected Objects. Para mais informações, consulte Map databases, tables, and columns in a batch.
Nota-
O mapeamento de nomes de banco de dados não é suportado. O mapeamento de nomes de tabelas e colunas é suportado apenas quando os objetos são selecionados no nível de tabela. Se usar o recurso de mapeamento, outros objetos dependentes podem falhar na sincronização.
-
Ao usar o mapeamento de nomes de colunas, modifique os tipos de coluna das tabelas a serem sincronizadas na instância do Tablestore de destino.
-
Para filtrar dados usando uma condição WHERE, clique com o botão direito na tabela a ser sincronizada na área Selected Objects e defina as condições de filtro na caixa de diálogo. Para mais informações, consulteFilter task data with an SQL condition.
-
-
Clique em Next: Advanced Settings para configurar parâmetros avançados.
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 um desempenho mais estável, adquira um cluster dedicado para executar tarefas de sincronização do DTS. Para mais informações, consulte What is a DTS dedicated cluster?.
Retry Time for Failed Connections
Após o início da tarefa, se a conexão com a origem ou destino falhar, o DTS reportará um erro e iniciará imediatamente novas tentativas. A duração padrão de tentativa é de 720 minutos. Especifique uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir pelo menos 30 minutos. Se o DTS reconectar com sucesso dentro do período especificado, a tarefa será retomada automaticamente. Caso contrário, ela falhará.
Nota-
Se houver múltiplas instâncias DTS (ex: Instância A e B) compartilhando a mesma origem ou destino, e o tempo de tentativa for definido como 30 minutos para A e 60 minutos para B, a menor duração (30 minutos) será usada para ambas.
-
Como o DTS cobra pelo tempo de execução durante as tentativas de conexão, recomendamos personalizar a duração conforme a necessidade ou liberar a instância DTS assim que possível após a liberação das instâncias de banco de dados.
Retry Time for Other Issues
Após o início da tarefa, se ocorrerem problemas não relacionados à conectividade (como exceções na execução de DDL ou DML), o DTS reportará um erro e iniciará tentativas contínuas. A duração padrão é de 10 minutos. Personalize a duração entre 1 e 1.440 minutos. Recomendamos definir pelo menos 10 minutos. Se as operações forem bem-sucedidas dentro do período definido, a tarefa será retomada automaticamente. Caso contrário, ela falhará.
ImportanteO valor de Retry Time for Other Issues deve ser menor que o de Retry Time for Failed Connections.
Enable Throttling for Full Data Synchronization
Durante a fase de sincronização completa, o DTS consome recursos de leitura e gravação da origem e do destino, o que pode aumentar a carga. Para reduzir essa carga, defina um limite 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-
Esta opção só está disponível quando Synchronization Types estiver definido como Full Data Synchronization.
-
Também é possível adjust the full synchronization rate após a instância de sincronização estar em execução.
Enable Throttling for Incremental Data Synchronization
Defina um limite de taxa para a sincronização incremental. Para aliviar a pressão no banco de dados 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 necessário. Neste exemplo, nenhuma tag é necessária.
Whether to delete SQL operations on heartbeat tables of forward and reverse tasks
Escolha se deseja gravar informações SQL de heartbeat no banco de dados de origem enquanto a instância DTS está em execução.
-
Yes: As informações SQL de heartbeat não são gravadas na origem. Isso pode fazer com que a instância DTS reporte atraso.
-
No: Grava informações SQL de heartbeat na origem. Isso pode interferir em recursos como backup físico e clonagem do banco de dados de origem.
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
Especifique se deseja configurar alertas. Se a sincronização falhar ou a latência exceder o limiar especificado, uma notificação será enviada a um contato de alerta.
-
No: Nenhum alerta é configurado.
-
Yes: Configure alertas definindo um limiar e especificando um alert notification. Para mais informações, consulte Configure monitoring and alerting during task configuration.
-
-
Clique em Next: Configure Database and Table Fields e clique em Note no botão OK.
Por padrão, o DTS define a chave primária da tabela de origem como Primary Key Column. Altere o Definition Status para All e modifique-o.
NotaPrimary Key Column Selecione várias colunas para formar uma chave primária composta.
-
-
Salve a tarefa e execute uma pré-verificação.
Para visualizar os parâmetros da API para configurar esta instância, passe o mouse sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão.
Após visualizar os parâmetros da API, clique em Next: Save Task Settings and Precheck na parte inferior da página.
NotaAntes do início do job de sincronização, o DTS executa uma pré-verificação. O job só inicia após a aprovação de todos os itens.
Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme indicado e execute a pré-verificação novamente.
-
Se a pré-verificação retornar um aviso:
Se um item de verificação falhar e não puder ser ignorado, clique em View Details ao lado do item. Siga as instruções para corrigir o problema e execute a pré-verificação novamente.
Para itens que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para pular o aviso e reexecutar a pré-verificação. Ignorar o aviso pode causar problemas como inconsistência de dados e riscos ao negócio.
-
Adquira a instância.
Quando a Success Rate for 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione o método de faturamento e a especificação de link para a instância de sincronização de dados. A tabela a seguir descreve esses parâmetros em detalhes.
Categoria
Parâmetro
Descrição
New Instance Class
Billing Method
-
Subscription: Pagamento no momento da criação da instância. Adequado para necessidades de longo prazo e mais econômico que o pagamento conforme o uso. Quanto maior a duração da assinatura, maior o desconto.
-
Pay-as-you-go: Cobrança horária. Adequado para necessidades de curto prazo. Libere a instância imediatamente após o uso para economizar.
Resource Group Configuration
O grupo de recursos ao qual a instância pertence. O padrão é default resource group. Para mais informações, consulte What is Resource Management?.
Link Specification
O DTS oferece especificações de sincronização com diferentes níveis de desempenho. A especificação do link afeta a taxa de sincronização. Escolha uma especificação baseada no seu cenário de negócio. Para mais informações, consulte Data synchronization link specifications.
Subscription Duration
No modo assinatura, selecione a duração e a quantidade para a instância. Escolha uma assinatura mensal de 1 a 9 meses ou anual de 1, 2, 3 ou 5 anos.
NotaEsta opção só está disponível quando o método de faturamento for Subscription.
-
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, clique em OK.
Visualize o progresso da tarefa na página Data Synchronization.