Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronização unidirecional entre instâncias Tair (compatíveis com Redis)

Última atualização: Aug 27, 2026

O DTS oferece sincronização unidirecional para bancos de dados Redis, o que permite cenários como georredudância ativa e recuperação de desastres geográfica. Este tópico mostra como configurar uma tarefa de sincronização unidirecional entre instâncias Tair.

Pré-requisitos

  • Crie uma instância Tair (Redis OSS-Compatible) de destino. Consulte Step 1: Create an instance.

  • O espaço de armazenamento da instância Tair (Redis OSS-Compatible) de destino deve ser maior que o espaço utilizado na instância Tair (Redis OSS-Compatible) de origem.

Observações de uso

Tipo

Descrição

Limitações do banco de dados de origem

  • O DTS insere uma chave com o prefixo DTS_REDIS_TIMESTAMP_HEARTBEAT no banco de dados de origem para registrar timestamps de atualização. Em clusters, essa chave é inserida em cada shard. A chave é filtrada durante a sincronização e expira após a conclusão da tarefa.

  • Se o banco de dados de origem for uma instância somente leitura ou se a conta do DTS não tiver permissões de escrita (SETEX), a latência reportada pode ser imprecisa.

  • Para garantir a estabilidade da conexão, aumente o valor do parâmetro repl-backlog-size no arquivo redis.conf.

  • Não execute FLUSHDB ou FLUSHALL no banco de dados de origem. Isso causa inconsistência de dados entre a origem e o destino.

  • Caso algumas chaves no banco de dados de origem tenham uma política de expiração, elas podem não ser excluídas imediatamente ao expirar. A contagem de chaves no destino (visível com info) pode ser inferior à da origem.

  • Se a instância de origem for uma instância Tair (Enterprise Edition) cujo Storage Medium seja Persistent Memory, garanta que o parâmetro appendonly esteja definido como yes, conforme descrito em Steps.

  • Se o banco de dados de origem for uma instância Redis autogerenciada:

    • Ao sincronizar de uma instância Redis standalone para uma instância cluster, os clusters Redis permitem que um único comando opere apenas em um slot. Operações com múltiplas chaves em slots diferentes retornam o seguinte erro:

      CROSSSLOT Keys in request don't hash to the same slot

      Para evitar interrupções na tarefa, execute apenas operações de chave única durante a sincronização do DTS.

  • Se a instância Redis de origem utilizar módulos estendidos como RedisJSON, RediSearch, RedisBloom, RedisTimeSeries, RedisGraph, RedisAI, RedisGears, RedisCell, RediSQL, redis-tdigest ou RedisCompat, o DTS não consegue analisar seus formatos de armazenamento RDB e a tarefa falha.

  • Se a origem for uma instância filha de um Global Distributed Cache Tair (Enterprise Edition), o DTS sincroniza dados apenas da instância filha selecionada. Os dados de outras instâncias filhas no grupo não são sincronizados.

Outras limitações

  • Para uma origem Redis autogerenciada, defina repl-timeout como 600 segundos executando config set repl-timeout 600. Aumente o valor de repl-timeout se a origem contiver uma grande quantidade de dados.

  • Operações na instância Redis de origem ou de destino durante a sincronização, como dimensionamento, alteração de especificações, migração de zonas de disponibilidade ou mudança de endpoint ou porta, podem interromper a tarefa porque o DTS não consegue obter dados de log contínuos ou informações de conexão corretas. Se isso ocorrer, limpe os dados sincronizados no destino antes de reconfigurar a tarefa.

  • Se a origem ou o destino for um Redis autogerenciado (onde Access Method não é Alibaba Cloud Instance) e seu endpoint mudar durante a sincronização (por exemplo, devido a uma migração ou failover primário/standby), a tarefa pode sofrer retentativas, latência ou falhas, e pode ocorrer inconsistência de dados. Monitore o status da tarefa e reconfigure-a se as anormalidades persistirem.

  • Durante a migração de uma instância Redis de destino, como um failover primário/standby, os dados podem ser gravados apenas na memória sem serem replicados para a instância standby, o que pode causar perda de dados.

  • Para garantir compatibilidade, use a mesma versão para os bancos de dados de origem e destino ou sincronize de uma versão anterior para uma posterior.

  • Durante a sincronização inicial completa de dados, o DTS consome recursos de leitura e escrita na origem e no destino, o que pode aumentar a carga. Avalie o desempenho do banco de dados antecipadamente e sincronize fora dos horários de pico.

  • Durante a sincronização do DTS, não grave dados no banco de dados de destino a partir de nenhuma fonte além do DTS. Caso contrário, haverá inconsistência de dados entre os bancos de dados de origem e destino.

  • Se a instância de destino for um cluster e um de seus shards atingir o limite de memória, ou se a instância de destino ficar sem espaço de armazenamento, a tarefa do DTS falhará devido a um erro de falta de memória (OOM).

  • Se o destino ficar sem memória, a evicção de dados pode causar inconsistência entre a origem e o destino. A maxmemory-policy padrão para Tair (Redis OSS-Compatible) é volatile-lru, que não afeta a operação da tarefa, mas pode evictar dados.

    Defina a política de evicção do destino como noeviction para evitar perda de dados. Com essa política, as operações de escrita falham e a tarefa para quando a memória se esgota, mas nenhum dado é evictado.

  • O DTS não suporta sincronização se a origem ou o destino tiver Transparent Data Encryption (TDE) ativado.

  • Os dados completos podem ser ressincronizados para o destino e causar inconsistência de dados nas seguintes condições:

    • Ocorre uma interrupção transitória de conexão na instância Redis de origem ou destino, e a transmissão retomável falha.

    • Ocorre um failover primário/standby ou um failover no Redis de origem ou destino.

    • O endpoint da instância Redis de origem ou destino muda.

    • Os objetos sincronizados da instância DTS são modificados.

  • Se uma instância Tair (Redis OSS-Compatible) tiver a criptografia Transport Layer Security (TLS) ativada, conecte-se a ela usando o método SSL-encrypted no DTS. O TLSv1.3 não é suportado. Não é possível conectar-se a uma instância Tair (Redis OSS-Compatible) com SSL ativado definindo Alibaba Cloud Instance como Alibaba Cloud Instance.

  • Reiniciar uma instância de sincronização que inclui tarefas completas e incrementais pode fazer com que o DTS execute ambas novamente.

  • Reiniciar uma instância de sincronização pode causar a execução de comandos mais de uma vez, levando à inconsistência de dados se existirem comandos não idempotentes como INCRBY e LPUSH, ou se uma ressincronização completa de dados for acionada.

  • Se uma tarefa falhar, a equipe de suporte do DTS tentará restaurá-la dentro de oito horas. Durante a restauração, eles podem reiniciar a tarefa ou ajustar seus parâmetros.

    Nota

    Apenas os parâmetros da tarefa DTS são modificados — não os parâmetros do banco de dados. Os parâmetros ajustáveis incluem aqueles listados em Modify instance parameters.

Faturamento

Tipo

Taxa

Sincronização completa de dados

Gratuita.

Sincronização incremental de dados

Cobrada. Para detalhes, consulte Billing overview.

Topologias de sincronização

  • Sincronização unidirecional um para um

  • Sincronização unidirecional um para muitos

  • Sincronização em cascata unidirecional

Para uma introdução a cada topologia de sincronização e seu uso, consulte Synchronization topologies.

Comandos suportados

  • APPEND

  • BITOP, BLPOP, BRPOP e BRPOPLPUSH

  • DECR, DECRBY e DEL

  • EVAL, EVALSHA, EXEC, EXPIRE e EXPIREAT

  • GEOADD e GETSET

  • HDEL, HINCRBY, HINCRBYFLOAT, HMSET, HSET e HSETNX

  • INCR, INCRBY e INCRBYFLOAT

  • LINSERT, LPOP, LPUSH, LPUSHX, LREM, LSET e LTRIM

  • MOVE, MSET, MSETNX e MULTI

  • PERSIST, PEXPIRE, PEXPIREAT, PFADD, PFMERGE e PSETEX

  • RENAME, RENAMENX, RESTORE, RPOP, RPOPLPUSH, RPUSH e RPUSHX

  • SADD, SDIFFSTORE, SELECT, SET, SETBIT, SETEX, SETNX, SETRANGE, SINTERSTORE, SMOVE, SPOP, SREM e SUNIONSTORE

  • ZADD, ZINCRBY, ZINTERSTORE, ZREM, ZREMRANGEBYLEX, ZUNIONSTORE, ZREMRANGEBYRANK e ZREMRANGEBYSCORE

  • SWAPDB e UNLINK (suportado apenas quando a instância Redis de origem é da versão 4.0)

  • XADD, XCLAIM, XDEL, XAUTOCLAIM, XGROUP CREATECONSUMER e XTRIM

Nota
  • O comando PUBLISH não é suportado.

  • O DTS não garante a execução bem-sucedida de um script Lua chamado com EVAL ou EVALSHA durante a sincronização incremental de dados, pois o destino não retorna explicitamente um resultado de execução.

  • Ao retransmitir dados de lista usando SYNC ou PSYNC, o DTS não limpa os dados existentes no destino, o que pode causar duplicidade de dados.

Requisitos de permissão para contas de banco de dados

Banco de dados

Permissões e autorização

Instância Tair (Redis OSS-Compatible) de origem

Requer permissão de leitura. Para o método de autorização, consulte Create and manage accounts.

Instância Tair (Redis OSS-Compatible) de destino

Requer permissões de leitura e escrita. Para o método de autorização, consulte Create and manage accounts.

Procedimento

  1. 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

    1. Faça login no console do Data Transmission Service (DTS).

    2. No painel de navegação à esquerda, clique em Data Synchronization.

    3. No canto superior esquerdo da página, selecione a região onde a instância de sincronização está localizada.

    Pelo console do DMS

    Nota

    As operações reais podem variar conforme 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.

    1. Faça login no Data Management (DMS).

    2. Na barra de menu superior, escolha Data + AI > Data Transmission (DTS) > Data Synchronization.

    3. À direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização está localizada.

  2. Clique em Create Task para abrir a página de configuração da tarefa.

  3. Configure os bancos de dados de origem e destino.

    Seção

    Parâmetro

    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 Existing Connection

    • Para usar uma instância de banco de dados added to the system (recém-criada ou salva), selecione a instância na lista suspensa. As informações do banco de dados são configuradas automaticamente.

      Nota

      No console do DMS, este item de configuração chama-se 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.

    Access Method

    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 dentro da mesma conta Alibaba Cloud. Selecione No.

    Instance ID

    Selecione o ID da instância Tair de origem.

    Authentication Method

    Selecione um método de autenticação conforme seus requisitos. Neste exemplo, Password Login está selecionado.

    Nota
    • Apenas 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 habilitado para o banco de dados Redis. Para obter informações sobre como habilitar 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-se à instância Tair de origem. Para mais informações sobre as permissões de conta necessárias, consulte Permissions required for database accounts.

    Nota

    A senha do banco de dados deve estar no formato <user>:<password>. Por exemplo, se o nome de usuário personalizado da instância Redis for admin e a senha for Rp829dlwa, insira admin:Rp829dlwa.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted conforme os requisitos da sua instância de banco de dados.

    Nota

    Se 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 added to the system (recém-criada ou salva), selecione a instância na lista suspensa. As informações do banco de dados são configuradas automaticamente.

      Nota

      No console do DMS, este item de configuração chama-se 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.

    Access Method

    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 dentro da mesma conta Alibaba Cloud. Selecione No.

    Instance ID

    Selecione o ID da instância Tair de destino.

    Authentication Method

    Selecione um método de autenticação conforme seus requisitos. Neste exemplo, Password Login está selecionado.

    Nota
    • Apenas 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 habilitado para o banco de dados Redis. Para obter informações sobre como habilitar 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-se à instância Tair de destino. Para mais informações sobre as permissões de conta necessárias, consulte Permissions required for database accounts.

    Nota

    A senha do banco de dados deve estar no formato <user>:<password>. Por exemplo, se o nome de usuário personalizado da instância Redis for admin e a senha for Rp829dlwa, insira admin:Rp829dlwa.

    Encryption

    Selecione Non-encrypted ou SSL-encrypted conforme os requisitos da sua instância de banco de dados.

    Nota

    Se 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.

  4. Após concluir a configuração, clique em Test Connectivity and Proceed na parte inferior da página.

    Nota
    • Certifique-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 destino para permitir o acesso 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.

    • Se o banco de dados de origem ou destino for autogerenciado (onde Access Method não é Alibaba Cloud Instance), clique também em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers.

  5. Configure os objetos da tarefa.

    1. Na página Configure Objects, configure os objetos a serem sincronizados.

      Parâmetro

      Descrição

      Synchronization Types

      • Instâncias Redis Open-Source Edition: Fixado como Full Data Synchronization + Incremental Data Synchronization. Nenhuma seleção manual é necessária.

      • Instâncias Tair (Enterprise Edition): Full Data Synchronization + Incremental Data Synchronization vem selecionado por padrão. Desmarque Full Data Synchronization para executar apenas sincronização incremental.

      Synchronization Topology

      Selecione One-way Synchronization.

      Nota

      Este parâmetro está disponível apenas quando as instâncias de origem e destino são instâncias Tair (Enterprise Edition).

      Processing Mode of Conflicting Tables

      • Precheck and Report Errors: Verifica se o destino está vazio. A pré-verificação passa se o destino estiver vazio. Se o destino não estiver vazio, a pré-verificação falha, um erro é reportado e a tarefa de sincronização de dados não inicia.

      • Ignore Errors and Proceed: Ignora a pré-verificação Check the existence of objects in the destination database..

        Aviso

        Se você selecionar Ignore Errors and Proceed, os dados de origem sobrescreverão os dados de destino durante a sincronização quando as chaves de origem e destino tiverem o mesmo nome. Isso pode causar perda de dados no destino. Selecione esta opção com cautela.

      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.

      Nota

      É possível 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 exibida. Para mais informações, consulte Map object names e Specify filter conditions.

    2. 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, e não é necessário selecionar um cluster. 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 de uma tarefa de sincronização, se a conexão com o banco de dados de origem ou destino falhar, o DTS reporta um erro e começa imediatamente a tentar reconectar. A duração padrão de nova tentativa é de 720 minutos. Também é possível especificar uma duração personalizada de 10 a 1.440 minutos. Recomendamos definir a duração como 30 minutos ou mais. Se o DTS se reconectar com sucesso 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 houver várias instâncias DTS (por exemplo, Instância A e Instância B) compartilhando a mesma origem ou destino, e o tempo de nova tentativa de rede for definido como 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 conforme as necessidades do seu negócio ou liberar a instância DTS o mais rápido possível após a liberação das instâncias de banco de dados de origem e 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 destino (como exceções de execução DDL ou DML), o DTS reporta um erro e inicia imediatamente operações contínuas de nova tentativa. A duração padrão de nova tentativa é de 10 minutos. Também é possível personalizar a duração da nova tentativa dentro do intervalo de 1 a 1.440 minutos. Recomendamos definir como 10 minutos ou mais. Se as operações relevantes forem bem-sucedidas dentro da duração de nova tentativa definida, a tarefa de sincronização será retomada automaticamente. Caso contrário, a tarefa falhará.

      Importante

      O valor para Retry Time for Other Issues deve ser menor que o valor para 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 escrita dos bancos de dados de origem e destino, o que pode aumentar a carga do banco de dados. Para reduzir a carga nos bancos de dados de origem e destino, defina 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).

      Nota

      Este parâmetro está disponível apenas quando Synchronization Types inclui Full Data Synchronization.

      Enable Throttling for Incremental Data Synchronization

      Também é possível 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).

      Environment Tag

      Selecione uma tag de ambiente para identificar a instância. Isso não é necessário para este exemplo.

      Extend Expiration Time of Destination Database Key

      Especifica o período de tempo estendido durante o qual as chaves sincronizadas do banco de dados de origem permanecem válidas na instância de destino. Para garantir a consistência dos dados, recomendamos estender o tempo de expiração da chave, especialmente se você usar comandos como os seguintes.

      Nota

      Em cenários que envolvem bloqueios distribuídos, essa configuração pode impedir que os bloqueios sejam liberados em tempo hábil.

      EXPIRE key seconds
      PEXPIRE key milliseconds
      EXPIREAT key timestamp
      PEXPIREAT key timestampMs

      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:

      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.

    3. Clique em Next: Data Validation para configurar uma tarefa de validação de dados.

      Para usar o recurso de validação de dados, consulte Configure data validation para instruções de configuração.

  6. 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.

    Nota
    • Antes do início da tarefa de sincronização, o DTS executa uma pré-verificação. A tarefa só pode começar após todos os itens de pré-verificação serem aprovados.

    • 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 de verificação ignoráveis, clique em Confirm Alert Details, Ignore, OK e Precheck Again em sequência para pular o aviso e executar a pré-verificação novamente. Ignorar o item de aviso pode causar problemas como inconsistência de dados e representar riscos para o seu negócio.

  7. Adquira a instância.

    1. Quando a Success Rate for 100%, clique em Next: Purchase Instance.

    2. 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: Pagamento realizado na 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.

      • Pagamento conforme o uso: Cobrança horária. Adequado para necessidades de curto prazo. Libere a instância imediatamente após o uso para economizar custos.

      Configuração do Grupo de Recursos

      Grupo de recursos ao qual a instância pertence. O padrão é default resource group. 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. Escolha uma especificação conforme 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. Escolha uma assinatura mensal de 1 a 9 meses ou uma assinatura anual de 1, 2, 3 ou 5 anos.

      Nota

      Esta opção está disponível apenas quando o método de faturamento é Subscription.

    3. Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.

    4. Clique em Buy and Start. Na caixa de diálogo OK exibida, clique em OK.

      Visualize o progresso da tarefa na página Data Synchronization.

      Nota

      Se sua instância DTS estiver configurada para sincronização completa e incremental de dados (ou seja, Synchronization Types inclui tanto Full Data Synchronization quanto Incremental Data Synchronization), a tarefa aparece como Incremental Data Synchronization na lista de tarefas de sincronização.