O Data Transmission Service (DTS) oferece suporte à sincronização bidirecional entre instâncias do Tair (Enhanced Edition) para redundância geográfica ativa, recuperação de desastres geográfica e casos de uso semelhantes.
Pré-requisitos
Você deve ter uma instância source e uma instância de destino Tair (Enterprise Edition). Para mais informações, consulte Step 1: Create an instance.
As instâncias source e de destino devem ter a mesma capacidade de armazenamento.
Limitações
|
Tipo |
Descrição |
|
Limitações do banco de dados source |
|
|
Outras limitações |
|
Faturamento
|
Tipo |
Taxa |
|
Sincronização completa de dados |
Gratuito. |
|
Sincronização incremental de dados |
Cobrado. Para detalhes, consulte Billing overview. |
Topologias de sincronização bidirecional
Atualmente, o DTS suporta sincronização bidirecional apenas entre duas instâncias Tair. O DTS ainda não suporta a sincronização entre mais de duas instâncias Tair.
Comandos Redis suportados
APPEND
BITOP, BLPOP, BRPOP, BRPOPLPUSH
DECR, DECRBY, DEL
EVAL, EVALSHA, EXEC, EXPIRE, EXPIREAT
GEOADD, GETSET
HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET, HSETNX
INCR, INCRBY, INCRBYFLOAT
LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET, LTRIM
MOVE, MSET, MSETNX, MULTI
PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE, PSETEX
RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH, RPUSHX
SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM, SUNIONSTORE
ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK, ZREMRANGEBYSCORE
XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER, XTRIM
O comando PUBLISH não é suportado.
O DTS não pode garantir a execução bem-sucedida de scripts Lua chamados com EVAL ou EVALSHA durante a sincronização incremental, porque o banco de dados de destino não retorna um resultado explícito.
Para tipos de dados List, o DTS não limpa os dados existentes do destino durante retransmissões sync ou psync, o que pode criar dados duplicados.
Permissões de conta de banco de dados
|
Banco de dados |
Permissões e autorização |
|
instância Tair source |
As instâncias Tair source e de destino requerem contas de banco de dados com permissões de leitura e gravação. Para detalhes, consulte Create and manage database accounts. |
|
instância Tair de destino |
Procedimento
-
Acesse a página da lista de tarefas de sincronização da região de destino. Use um dos seguintes métodos:
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 de acordo com o modo e o 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.
AvisoApós selecionar as instâncias de origem e de destino, leia atentamente os limites exibidos na parte superior da página. Se você não seguir os limites, a tarefa poderá falhar ou poderá ocorrer inconsistência de dados.
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 único.
Source Database
Select Existing Connection
-
Para usar uma instância de banco de dados que seja added to the system (recém-criada ou salva), selecione a instância de banco de dados na lista suspensa. As informações do banco de dados são configuradas automaticamente.
NotaNo console do DMS, este item de configuração é nomeado como Select a DMS database instance..
-
Se você não adicionou a instância de banco de dados ao sistema, ou não precisa usar uma instância já adicionada, configure manualmente as seguintes informações do banco de dados.
Database Type
Selecione Tair/Redis.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância Tair de origem está localizada.
Replicate Data Across Alibaba Cloud Accounts
Este exemplo sincroniza dados em uma única conta Alibaba Cloud, portanto, selecione No.
Instance ID
Selecione o ID da instância Tair de origem.
Authentication Method
Selecione um método de autenticação de acordo com seus requisitos. Neste exemplo, Password Login está selecionado.
NotaApenas o Redis 6.0 e versões posteriores suportam Account + Password Login.
Se você selecionar Secret-free login, certifique-se de que o acesso sem senha esteja ativado para o banco de dados Redis. Para obter informações sobre como ativar o acesso sem senha para uma instância Tair (Redis OSS-Compatible), consulte Enable password-free access over a VPC.
Database Password
Insira a senha da conta do banco de dados usada para conectar à instância Tair de origem. Para obter informações sobre as permissões de conta necessárias, consulte Permissions required for database accounts.
NotaA senha do banco de dados deve estar no formato <user>:<password>. Por exemplo, se o nome de usuário personalizado para a instância Tair for
admine a senha forRp829dlwa, insiraadmin:Rp829dlwa.Encryption
Selecione Non-encrypted ou SSL-encrypted com base nos requisitos da sua instância de banco de dados.
NotaSe você estiver usando uma instância Redis autogerenciada (o Access Method não é Alibaba Cloud Instance) e selecionar SSL-encrypted, também deverá fazer upload de um CA Certificate e inserir a CA Certificate Password.
Destination Database
Select Existing Connection
-
Para usar uma instância de banco de dados que seja added to the system (recém-criada ou salva), selecione a instância de banco de dados na lista suspensa. As informações do banco de dados são configuradas automaticamente.
NotaNo console do DMS, este item de configuração é nomeado como Select a DMS database instance..
-
Se você não adicionou a instância de banco de dados ao sistema, ou não precisa usar uma instância já adicionada, configure manualmente as seguintes informações do banco de dados.
Database Type
Selecione Tair/Redis.
Connection Type
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde a instância Tair de destino está localizada.
Replicate Data Across Alibaba Cloud Accounts
Este exemplo sincroniza dados em uma única conta Alibaba Cloud, portanto, selecione No.
Instance ID
Selecione o ID da instância Tair de destino.
Authentication Method
Selecione um método de autenticação de acordo com seus requisitos. Neste exemplo, Password Login está selecionado.
NotaApenas o Redis 6.0 e versões posteriores suportam Account + Password Login.
Se você selecionar Secret-free login, certifique-se de que o acesso sem senha esteja ativado para o banco de dados Redis. Para obter informações sobre como ativar o acesso sem senha para uma instância Tair (Redis OSS-Compatible), consulte Enable password-free access over a VPC.
Database Password
Insira a senha da conta do banco de dados usada para conectar à instância Tair de destino. Para obter informações sobre as permissões de conta necessárias, consulte Permissions required for database accounts.
NotaSe o nome de usuário personalizado para a instância Tair for
admine a senha forRp829dlwa, insiraadmin:Rp829dlwa.Encryption
Selecione Non-encrypted ou SSL-encrypted com base nos requisitos da sua instância de banco de dados.
NotaSe você estiver usando uma instância Redis autogerenciada (o Access Method não é Alibaba Cloud Instance) e selecionar SSL-encrypted, também deverá fazer upload de um CA Certificate e inserir a CA Certificate Password.
-
-
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 foram adicionados às configurações de segurança dos bancos de dados de origem e de destino para permitir o acesso a partir dos servidores DTS. Isso pode ser feito automática ou manualmente. Para mais informações, consulte Add the IP address CIDR blocks of DTS servers to a whitelist.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos a serem sincronizados.
Parâmetro
Descrição
Synchronization Types
Por padrão, Incremental Data Synchronization está selecionado. Você também deve selecionar Full Data Synchronization. Após a conclusão da pré-verificação, o DTS executa uma sincronização completa de dados da instância de origem para o cluster de destino. Essa sincronização completa inicial cria uma linha de base para a sincronização incremental subsequente.
Synchronization Topology
Selecione Two-way Synchronization.
Processing Mode of Conflicting Tables
-
Precheck and Report Errors: Verifica se o destino está vazio. A pré-verificação é aprovada se o destino estiver vazio. Se o destino não estiver vazio, a pré-verificação falha, um erro é reportado e o trabalho de sincronização de dados não é iniciado.
-
Ignore Errors and Proceed: Ignora a pré-verificação Check the existence of objects in the destination database..
AvisoSe você selecionar Ignore Errors and Proceed, os dados de origem substituirão os dados de destino durante a sincronização quando as chaves de origem e de destino tiverem o mesmo nome. Isso pode causar perda de dados no destino. Selecione esta opção com cuidado.
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.NotaVocê pode selecionar objetos apenas no nível do banco de dados. Para sincronizar dados de chaves específicas dentro de um banco de dados, use o recurso data filtering no painel Selected Objects.
Selected Objects
Para especificar um banco de dados de destino (DB 0 a DB 255) ou filtrar dados por prefixo, use os recursos de mapeamento ou filtragem. No painel Selected Objects, clique com o botão direito no banco de dados a ser sincronizado e configure as opções na caixa de diálogo Edit Schema que será exibida. Para mais informações, consulte Map object names e Specify filter conditions.
-
-
Clique em Next: Advanced Settings para configurar os parâmetros avançados.
Parâmetro
Descrição
Dedicated Cluster for Task Scheduling
Por padrão, o DTS agenda tarefas em um cluster compartilhado, e você não precisa selecionar um cluster. Para um desempenho mais estável, você pode adquirir 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 de uma tarefa de sincronização, se a conexão com o banco de dados de origem ou de destino falhar, o DTS reportará um erro e começará imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Você também pode especificar uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir a duração para 30 minutos ou mais. Se o DTS conseguir reconectar ao banco de dados dentro da duração especificada, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.
Nota-
Se você tiver várias instâncias do DTS (por exemplo, Instância A e Instância B) que compartilham a mesma origem ou destino, e definir o tempo de nova tentativa de rede para 30 minutos na Instância A e 60 minutos na Instância B, a duração menor de 30 minutos será usada para ambas.
-
Como o DTS cobra pelo tempo de execução da tarefa durante o período de nova tentativa de conexão, recomendamos personalizar a duração da 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 sincronização, se ocorrerem outros problemas não relacionados à conectividade com o banco de dados de origem ou de destino (como exceções de execução de DDL ou DML), o DTS reportará um erro e iniciará imediatamente operações contínuas de nova tentativa. A duração padrão é de 10 minutos. Você também pode personalizar a duração dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir para 10 minutos ou mais. Se as operações relevantes forem bem-sucedidas dentro da duração definida, a tarefa de sincronizaçã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 Synchronization
Durante a etapa de sincronização completa, o DTS consome recursos de leitura e gravação dos bancos de dados de origem e de destino, o que pode aumentar a carga do banco de dados. Para reduzir a carga nos bancos de dados de origem e de destino, você pode definir um limite de taxa para a tarefa de sincronização completa 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).
NotaEste parâmetro está disponível apenas quando Full Data Synchronization estiver selecionado em Synchronization Types.
Enable Throttling for Incremental Data Synchronization
Você também pode definir um limite de taxa para a tarefa de sincronização incremental. Para aliviar a pressão no banco de dados de destino, defina RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).
Extend Expiration Time of Destination Database Key
Especifica o tempo extra para estender o TTL das chaves quando elas são migradas do banco de dados de origem para o banco de dados de destino. Para garantir a consistência dos dados, recomendamos estender o tempo de expiração da chave se comandos como os seguintes forem usados.
NotaEm cenários que envolvem bloqueios distribuídos, isso pode impedir que os bloqueios sejam liberados em tempo hábil.
EXPIRE key seconds PEXPIRE key milliseconds EXPIREAT key timestamp PEXPIREAT key timestampMsEnvironment Tag
Você pode selecionar uma tag de ambiente para identificar a instância com base nos requisitos do seu negócio. Neste exemplo, não é necessário selecionar uma tag.
Configure ETL
Escolha se deseja ativar o recurso de extração, transformação e carga (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 para um contato de alerta.
-
No: Nenhum alerta é configurado.
-
Yes: Configure alertas definindo um limiar de alerta e especificando um alert notification. Para mais informações, consulte Configure monitoring and alerting during task configuration.
-
-
Clique em Next: Data Validation para configurar uma tarefa de validação de dados.
Se você quiser usar o recurso de validação de dados, consulte Configure data validation para obter instruções de configuração.
-
-
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 na dica.
Se você já terminou de 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 trabalho de sincronização, o DTS executa uma pré-verificação. O trabalho só pode ser iniciado após a aprovação de todos os itens da pré-verificação.
Se a pré-verificação falhar, clique em View Details para o item com falha. Corrija o problema conforme instruído 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 de verificação que podem ser ignorados, você pode clicar em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para ignorar o aviso e executar a pré-verificação novamente. Se você optar por ocultar o item de aviso, isso 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 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
Método de faturamento
-
Assinatura: Você paga ao criar a instância. Isso é 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.
-
Pagamento conforme o uso: Você é cobrado por hora. Isso é adequado para necessidades de curto prazo. Você pode liberar a instância imediatamente após o uso para economizar custos.
Configuração de grupo de recursos
O grupo de recursos ao qual a instância pertence. O padrão é o grupo de recursos padrão. Para mais informações, consulte What is Resource Management?.
Especificação de link
O DTS fornece especificações de sincronização com diferentes níveis de desempenho. A especificação do link de sincronização afeta a taxa de sincronização. Você pode escolher uma especificação com base no seu cenário de negócios. Para mais informações, consulte Data synchronization link specifications.
Duração da assinatura
No modo de assinatura, selecione a duração e a quantidade para a instância de assinatura. Você pode escolher uma assinatura mensal de 1 a 9 meses, ou uma assinatura anual de 1, 2, 3 ou 5 anos.
NotaEsta opção está disponível apenas 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.
Você pode visualizar o progresso da tarefa na página Data Synchronization.
-
Configure a tarefa de sincronização reversa.
-
Aguarde a tarefa de sincronização direta concluir sua inicialização. A tarefa estará pronta quando seu Status mudar para Running.
NotaSe a sua instância do DTS estiver configurada para sincronização completa e incremental de dados (o que significa que Synchronization Types inclui tanto Full Data Synchronization quanto Incremental Data Synchronization), a tarefa aparecerá como Incremental Data Synchronization na lista de tarefas de sincronização.
Localize a tarefa de sincronização reversa e clique em Configure Task.
-
Configure a tarefa de sincronização reversa seguindo de Step 3 a Step 6.
ImportanteAo configurar a tarefa de sincronização reversa, certifique-se de selecionar as instâncias corretas: a instância de origem para a tarefa reversa é a instância de destino da tarefa direta, e vice-versa. Você também deve confirmar cuidadosamente se as informações da instância, como nomes de bancos de dados, contas e senhas, são consistentes.
Você não pode modificar a Instance Region para as instâncias de origem e de destino da tarefa de sincronização reversa. Menos parâmetros precisam ser configurados para uma tarefa de sincronização reversa do que para uma direta. Configure os parâmetros conforme instruído no console.
A configuração Processing Mode of Conflicting Tables para a tarefa de sincronização reversa não verifica as tabelas que são sincronizadas para a instância de destino pela tarefa de sincronização direta.
A tarefa de sincronização reversa não suporta a sincronização dos objetos selecionados na caixa Selected Objects da tarefa de sincronização direta.
Não use o recurso de mapeamento ao configurar a tarefa reversa, pois isso pode causar inconsistência de dados.
Quando a Success Rate atingir 100%, clique em Back.
-
Após configurar a tarefa de sincronização reversa, aguarde até que o Status de ambas as tarefas de sincronização seja Running. A configuração de sincronização de dados bidirecional está concluída.