Todos os produtos
Search
Central de documentação

Data Transmission Service:Sincronizar dados de um banco de dados Redis auto-gerenciado em uma instância ECS para uma instância Tair (compatível com Redis)

Última atualização: Jun 27, 2026

O Data Transmission Service (DTS) sincroniza dados em tempo real de um banco de dados Redis auto-gerenciado em uma instância Elastic Compute Service (ECS) para uma instância Tair (compatível com Redis). O DTS usa a replicação PSYNC/SYNC para concluir primeiro uma cópia completa dos dados e, em seguida, aplica continuamente as alterações incrementais. Isso mantém o destino sincronizado sem interromper o banco de dados de origem.

Aviso

Após configure uma tarefa de sincronização de dados, não altere a arquitetura do banco de dados de origem ou de destino. Essa alteração causa falha na tarefa.

Pré-requisitos

Antes de começar, verifique se você possui:

  • Uma instância Redis auto-gerenciada execute em uma instância ECS

  • Uma instância Tair (compatível com Redis) usando o modo de conexão direta. Para obter instruções de configuração, consulte Crie uma instância Tair

    O DTS oferece suporte apenas a instâncias Tair (compatíveis com Redis) no modo de conexão direta. Para versões compatíveis, consulte Soluções de sincronização .
  • Espaço de armazenamento na instância de destino superior ao tamanho total dos dados do banco de dados de origem

  • Para origens com arquitetura de cluster: todos os nós do cluster devem execute o comando PSYNC e compartilhar a mesma senha de conexão

  • Conta de origem com permissões PSYNC e SYNC

  • Um valor repl-timeout de pelo menos 600 segundos na instância de origem. Execute o seguinte comando para defini-lo:

    config set repl-timeout 600

    O valor padrão é 60 segundos. Se o banco de dados de origem contiver uma grande quantidade de dados, aumente o valor do parâmetro repl-timeout conforme necessário.

Faturamento

Tipo de sincronização

Taxa

Sincronização completa de dados

Gratuita

Sincronização incremental de dados

Cobrada. Consulte Visualize geral do faturamento

Topologias de sincronização suportadas

  • Sincronização unidirecional um para um

  • Sincronização unidirecional um para muitos

  • Sincronização em cascata unidirecional

Para mais detalhes, consulte Topologias de sincronização.

Operações suportadas

É possível sincronizar as seguintes operações do Redis:

  • 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

  • SWAPDB, UNLINK (apenas versão 4.0 do mecanismo de origem)

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

Não é possível sincronizar operações PUBLISH .
Se EVAL ou EVALSHA chamarem scripts Lua, o DTS não conseguirá confirme se esses scripts foram executados no destino durante a sincronização incremental. O destino não retorna resultados explícitos para scripts Lua.
Quando SYNC ou PSYNC transferem dados LIST , o DTS não limpa os dados existentes no destino. Isso pode causar registros duplicados.

Restrições

Restrições do banco de dados de origem

Restrição

Detalhes

Comandos FLUSHDB / FLUSHALL

Não execute esses comandos durante a sincronização. Eles causam inconsistência de dados entre a origem e o destino.

Parâmetro bind no redis.conf

Se configurado, defina-o como o endereço IP privado da instância ECS para permitir a conexão do DTS.

Chave de heartbeat do DTS

O DTS insere uma chave com o prefixo DTS_REDIS_TIMESTAMP_HEARTBEAT no banco de dados de origem para rastrear timestamps de atualização. No modo cluster, essa chave é inserida em cada shard. A chave é filtrada durante a sincronização e expira quando a tarefa termina.

Relatório de latência

A latência pode ser imprecisa se o banco de dados de origem for somente leitura ou se a conta do DTS não tiver permissão de gravação (SETEX).

repl-backlog-size

Aumente este valor no redis.conf de origem para melhorar a estabilidade da sincronização.

Expiração de chaves

Chaves com políticas de expiração podem não expirar imediatamente; o destino pode ter menos chaves que a origem. Execute INFO no destino para verificar a contagem atual de chaves. Chaves sem políticas de expiração, ou aquelas que ainda não expiraram, são sincronizadas de forma idêntica.

Basic Edition para cluster (erro CROSSSLOT)

Um cluster Redis permite que comandos operem apenas em um único slot. Comandos de múltiplas chaves entre slots falham com CROSSSLOT Keys in request don't hash to the same slot. Execute apenas comandos de chave única durante a sincronização.

Outras restrições

Restrição

Detalhes

Compatibilidade de versões

Sincronize de uma versão anterior do Redis para uma versão posterior. A sincronização de uma versão posterior para uma anterior pode causar problemas de compatibilidade.

Dimensionamento da origem durante a sincronização

Se a instância de origem for dimensionada (shards adicionados ou removidos) ou sua memória for aumentada, reconfigure a tarefa. Limpe todos os dados no destino antes de reconfigurar para manter a consistência.

Alterações de endpoint

Se a origem ou o destino for uma instância auto-gerenciada e seu endpoint mudar (por exemplo, devido a migração ou failover), a tarefa pode tentar nova execução, apresentar latência ou falhar. Verifique o status da tarefa e reconfigure-a se necessário.

Failover no destino

Se ocorrer um failover no destino, os dados podem ser gravados apenas na memória sem persistência no banco de dados secundário. Isso pode causar perda de dados.

Carga da sincronização completa

O DTS utiliza recursos tanto da origem quanto do destino durante a sincronização completa, aumentando a carga do servidor. Para grandes conjuntos de dados, execute a sincronização fora do horário de pico.

FLUSHDB / FLUSHALL (cluster para cluster)

Não execute esses comandos ao sincronizar entre clusters Redis. Eles causam inconsistência de dados.

Evicção de memória no destino

A política de evicção padrão (maxmemory-policy) do Tair (compatível com Redis) é volatile-lru. Se o destino ficar sem memória, a evicção causa inconsistência de dados sem interromper a tarefa. Defina a política como noeviction para evitar perda silenciosa de dados: se o destino ficar sem memória, as gravações falham e a tarefa para, mas nenhum dado é perdido por evicção. Consulte Políticas de evicção de dados do Redis.

Gravações externas no destino

Não grave dados no destino a partir de nenhuma fonte além do DTS durante a sincronização. Isso causa inconsistência de dados.

OOM no destino cluster

Se um shard em um destino da edição cluster atingir seu limite de memória, ou se o destino não tiver espaço de armazenamento suficiente, a tarefa falhará com um erro de falta de memória (OOM).

Transparent Data Encryption (TDE)

Se o TDE estiver ativado no destino, o DTS não poderá sincronizar dados para ele.

Acionadores de ressincronização completa

Uma ressincronização completa pode ocorrer nestas situações, causando inconsistência de dados: uma falha de conexão transitória impede a retomada por breakpoint; ocorre um failover na origem ou no destino; o endpoint da origem ou do destino muda; ou os objetos de sincronização são modificados.

Criptografia TLS

Se a criptografia Transport Layer Security (TLS) estiver ativada em uma instância Tair (compatível com Redis OSS), use uma conexão SSL-encrypted. O TLSv1.3 não é suportado. Instâncias com SSL ativado não podem usar o método de acesso Alibaba Cloud Instance.

Reinício de tarefa completa + incremental

Se a instância de sincronização incluir tarefas completas e incrementais, reiniciá-la pode fazer com que ambas as tarefas sejam executadas novamente desde o início.

Recuperação de instância DTS

Se a instância DTS falhar, o DTS tentará a recuperação dentro de 8 horas. Durante a recuperação, a instância pode ser reiniciada ou ter seus parâmetros ajustados. Apenas os parâmetros da instância DTS são modificados; os parâmetros do banco de dados não são alterados. Para parâmetros que podem ser modificados, consulte Modifique parâmetros da instância.

Configure uma tarefa de sincronização

O processo de configuração consiste em cinco etapas: abrir a página de sincronização, configure os bancos de dados de origem e destino, configure os objetos de sincronização, execute a pré-verificação e adquirir a instância.

Etapa 1: Abrir a página de sincronização de dados

Use um dos seguintes métodos para acessar a página Data Synchronization.

Console do DTS

  1. Faça login no console do DTS.console do DTS

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

  3. No canto superior esquerdo, selecione a região onde a tarefa de sincronização está localizada.

Console do DMS

As etapas podem variar dependendo do modo e layout do console do DMS. Consulte Modo simples e Personalizar o layout e o estilo do console do DMS .
  1. Faça login no console do DMS.console do DMS

  2. Na barra de navegação superior, passe o mouse sobre Data + AI e escolha DTS (DTS) > Data Synchronization.

  3. Na lista suspensa à direita de Data Synchronization Tasks, selecione a região onde a instância de sincronização reside.

Etapa 2: Configure bancos de dados de origem e destino

  1. Clique em Create Task.

  2. Na página de configuração da tarefa, configure os parâmetros nas tabelas a seguir.

Configurações gerais

Parâmetro

Descrição

Task Name

O DTS gera automaticamente um nome para a tarefa. Especifique um nome descritivo para identificar a tarefa. O nome não precisa ser único.

Banco de dados de origem

Parâmetro

Descrição

Select Existing Connection

Se a instância de origem estiver registrada no DTS, selecione-a na lista suspensa. O DTS preencherá automaticamente os parâmetros restantes. Caso contrário, configure os parâmetros abaixo manualmente. No console do DMS, selecione a instância na lista Select a DMS database instance.

Database Type

Selecione Tair/Redis.

Access Method

Selecione Self-managed Database On ECS.

Instance Region

Selecione a região da instância ECS que hospeda o banco de dados Redis de origem.

Cross-Account (Alibaba Cloud)

Selecione No (mesma conta Alibaba Cloud).

ECS Instance ID

Selecione o ID da instância ECS onde o banco de dados Redis de origem está em execução. Para origens com arquitetura de cluster, selecione a instância ECS de um nó primário e adicione manualmente os blocos CIDR de IP do servidor DTS da região correspondente às regras de segurança de cada outra instância ECS. Consulte Crie um grupo de segurança, Associar um grupo de segurança a uma instância (ENI primária) e Adicionar os blocos CIDR dos servidores DTS a uma lista de permissões.

Instance Mode

Selecione Basic Edition ou Cluster com base na arquitetura do Redis de origem.

Port

Insira a porta de serviço do banco de dados Redis de origem. Padrão: 6379. Para origens em cluster, insira a porta de um nó primário.

Authentication Method

Selecione o método de autenticação. Este exemplo usa Password Login. Account + Password Login requer Redis 6.0 ou posterior. Para Secret-free login, certifique-se de que o acesso sem senha esteja habilitado no banco de dados. Consulte Ative acesso sem senha.

Database Password

Insira a senha do banco de dados Redis de origem. Este campo é opcional; deixe-o em branco se nenhuma senha estiver definida. O formato é <user>:<password>, por exemplo, admin:Rp829dlwa.

Encryption

Selecione Non-encrypted ou SSL-encrypted. Se SSL-encrypted for selecionado para uma instância não-Alibaba Cloud, faça upload de um CA Certificate e insira uma CA Key.

Banco de dados de destino

Parâmetro

Descrição

Select Existing Connection

Se a instância de destino estiver registrada no DTS, selecione-a na lista suspensa. O DTS preencherá automaticamente os parâmetros restantes. Caso contrário, configure os parâmetros abaixo manualmente. No console do DMS, selecione a instância na lista Select a DMS database instance.

Database Type

Selecione Tair/Redis.

Access Method

Selecione Cloud Instance.

Instance Region

Selecione a região da instância Tair (compatível com Redis) de destino.

Replicate Data Across Alibaba Cloud Accounts

Selecione No (mesma conta Alibaba Cloud).

Instance ID

Selecione o ID da instância Tair (compatível com Redis) de destino.

Authentication Method

Selecione o método de autenticação. Este exemplo usa Password Login. Account + Password Login requer Redis 6.0 ou posterior.

Database Password

Insira a senha da instância Tair (compatível com Redis) de destino. O formato é <user>:<password>, por exemplo, admin:Rp829dlwa.

Encryption

Selecione Non-encrypted ou SSL-encrypted com base nos requisitos do seu negócio. Se Access Method não estiver definido como Alibaba Cloud Instance e você selecione SSL-encrypted, será necessário fazer upload de um CA Certificate e inserir uma CA Key.

  1. Clique em Test Connectivity and Proceed.

    - Adicione os blocos CIDR do servidor DTS às configurações de segurança dos bancos de dados de origem e de destino. Consulte Adicionar endereços IP do servidor DTS a uma lista de permissões . - Se a origem ou o destino for um banco de dados auto-gerenciado (não Alibaba Cloud Instance ), clique em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers .

Etapa 3: Configure objetos de sincronização

  1. Na etapa Configure Objects, defina os seguintes parâmetros.

ParâmetroDescrição
Synchronization TypesFull Data Synchronization + Incremental Data Synchronization é selecionado por padrão.
Processing Mode of Conflicting TablesPrecheck and Report Errors: verifica se existem dados no destino. Se houver dados, a pré-verificação falha e a tarefa não pode iniciar. Ignore Errors and Proceed: ignora a verificação de existência no destino.
Aviso

Esta opção pode causar perda de dados, pois os dados de origem sobrescrevem as chaves correspondentes no destino.

Source ObjectsSelecione um ou mais bancos de dados em Source Objects e clique em 向右 para adicioná-los aos Selected Objects. Apenas bancos de dados podem ser selecionados; chaves individuais não podem.
Selected ObjectsPara mapear um banco de dados para um número DB diferente (DB 0 a DB 255) ou filtrar por prefixo de chave, clique com o botão direito no banco de dados em Selected Objects e configure as opções na caixa de diálogo Edit Schema. Consulte Mapear nomes de objetos e Especificar condições de filtro. Não é possível configure vários mapeamentos de nomes de objetos simultaneamente.
  1. Clique em Next: Advanced Settings e configure os seguintes parâmetros.

Parâmetro

Descrição

Dedicated Cluster for Task Scheduling

Por padrão, o DTS agenda tarefas para o cluster compartilhado. Para melhorar a estabilidade, adquira um cluster dedicado. Consulte O que é um cluster dedicado do DTS.

Retry Time for Failed Connections

Tempo durante o qual o DTS tenta reconexão após uma falha de conexão. Valores válidos: 10–1440 minutos. Padrão: 720. Defina como mais de 30 minutos. Se o DTS reconectar dentro desse período, a tarefa será retomada; caso contrário, ela falhará. Se várias tarefas compartilharem a mesma origem ou destino, o menor período de nova tentativa se aplica. O DTS cobra pela instância durante a nova tentativa.

Retry Time for Other Issues

Tempo durante o qual o DTS tenta nova execução após falhas de DDL ou DML. Valores válidos: 1–1440 minutos. Padrão: 10. Defina como mais de 10 minutos. Este valor deve ser menor que Retry Time for Failed Connections.

Enable Throttling for Full Data Synchronization

Limite a sincronização completa para reduzir a carga na origem e no destino. Configure Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s). Disponível apenas quando Full Data Synchronization estiver selecionado.

Enable Throttling for Incremental Data Synchronization

Limite a sincronização incremental. Configure RPS of Incremental Data Synchronization e Data synchronization speed for incremental synchronization (MB/s).

Environment Tag

Marque a instância com um rótulo de ambiente. Opcional.

Extend Expiration Time of Destination Database Key

Defina um tempo de expiração estendido para chaves sincronizadas. Use esta opção para manter a consistência dos dados quando a origem utiliza comandos de expiração. Em cenários de bloqueio distribuído, isso pode atrasar a liberação do bloqueio. Comandos afetados: EXPIRE, PEXPIRE, EXPIREAT, PEXPIREAT.

Use Slave Node

Disponível quando o Instance Mode de origem for Cluster. Escolha ler dos nós primários ou réplicas. Padrão: No (lê do nó primário).

Configure ETL

Habilite extração, transformação e carregamento (ETL) para aplicar transformações de dados durante a sincronização. Yes: configure o ETL usando o editor de código. Consulte Configure ETL em uma tarefa de migração ou sincronização de dados. No: ignore o ETL. Consulte O que é ETL?

  1. Clique em Next Step: Data Verification para configure a verificação de dados. Consulte Configure uma tarefa de verificação de dados.

Etapa 4: Execute a pré-verificação

  1. Para visualize os parâmetros da API para esta configuração de tarefa, passe o mouse sobre Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters.

  2. Clique em Next: Save Task Settings and Precheck.

O DTS executa uma pré-verificação antes do início da tarefa. A tarefa só pode começar após a aprovação na pré-verificação.

  • Se a pré-verificação falhar, clique em View Details ao lado do item com falha para ver a causa. Corrija o problema e execute a pré-verificação novamente.

  • Se um alerta for acionado:

    • Para alertas que não podem ser ignorados, clique em View Details, corrija o problema e execute a pré-verificação novamente.

    • Para alertas que podem ser ignorados, clique em Confirm Alert Details, depois clique em Ignore > OK > Precheck Again. Ignorar alertas pode causar inconsistência de dados.

Etapa 5: Adquirir e iniciar a instância

  1. Aguarde até que a Success Rate atinja 100%, então clique em Next: Purchase Instance.

  2. Na página de compra, configure os seguintes parâmetros.

Parâmetro

Descrição

Billing Method

Subscription: pagamento antecipado por um período fixo, mais econômico para uso de longo prazo. Pay-as-you-go: faturamento por hora, adequado para uso de curto prazo. Libere a instância quando não for mais necessária para interromper as cobranças.

Resource Group Settings

O grupo de recursos para a instância de sincronização. Padrão: default resource group. Consulte O que é Resource Management?

Instance Class

Selecione uma classe de instância com base na velocidade de sincronização necessária. Consulte Classes de instância de instâncias de sincronização de dados.

Subscription Duration

Disponível apenas para faturamento Subscription. Opções: 1–9 meses, ou 1, 2, 3 ou 5 anos.

  1. Leia e aceite os Data Transmission Service (Pay-as-you-go) Service Terms.

  2. Clique em Purchase And Start, depois clique em OK.

A tarefa aparece na página de sincronização de dados. Se a tarefa incluir tanto Full Data Synchronization quanto Incremental Data Synchronization, ela será exibida como uma única tarefa de Incremental Data Synchronization na lista de tarefas.

Próximos passos

  • Monitore o status e a latência da tarefa na página de sincronização de dados.

  • O DTS também suporta sincronização unidirecional entre instâncias Tair (compatíveis com Redis). As etapas de configuração são as mesmas descritas neste tópico.

  • Para opções de topologia de sincronização, consulte Topologias de sincronização.