Todos os produtos
Search
Central de documentação

Tair (Redis® OSS-Compatible):Migração unidirecional entre instâncias

Última atualização: Jun 26, 2026

Use este tópico se você já criou uma instância de destino Tair (compatível com Redis OSS) e precisa transferir dados de uma instância de origem para ela. Caso ainda não tenha criado a instância de destino, clone uma diretamente de um backup — consulte Restaurar a partir de um conjunto de backups ou Restaurar para um ponto no tempo.

Este tópico descreve como usar o Data Transmission Service (DTS) para migrar dados unidirecionalmente entre instâncias Tair (compatíveis com Redis OSS) ou bancos de dados Redis autogerenciados. O conteúdo também compara o DTS com as duas alternativas baseadas em backup para ajudar na escolha do método mais adequado.

Comparação dos métodos de migração

**DTS**

**Restaurar a partir de um conjunto de backups**

**Restaurar para um ponto no tempo**

Quando usar

Para migrar dados para uma instância existente

Para clonar uma nova instância a partir de um backup

Para clonar uma nova instância a partir de um backup

Custos

Migração completa: gratuita. Migração incremental: pagamento conforme o uso por duração. Taxas de transferência de dados aplicam-se a tráfego via Internet ou entre nuvens.

Restauração de dados: gratuita. Criação de nova instância: cobrada.

Restauração de dados: gratuita durante o período de teste (últimos 7 dias). Criação de nova instância: cobrada.

Granularidade da migração

Nível de banco de dados (DB 0–DB 255)

Nível de instância

Nível de instância ou nível de chave

Migração incremental

Suportada

Não suportada

Não suportada

Cross-region migration

Suportada

Não suportada

Não suportada

Versões diferentes de banco de dados

Suportado¹

Não suportado

Não suportado

Arquiteturas diferentes

Suportado²

Parcialmente suportado²

Parcialmente suportado²

¹ Recomenda-se usar a mesma versão de banco de dados na origem e no destino para evitar problemas de compatibilidade.

² Antes de migrar de uma instância com arquitetura padrão para uma instância com arquitetura cluster ou de divisão de leitura/escrita, revise os limites de comandos dessas arquiteturas.

Como o DTS migra dados

O DTS oferece dois tipos de migração. Selecione ambos ao configurar uma tarefa para migrar dados sem interromper o banco de dados de origem.

  • Full Migration + Incremental Migration (padrão): usa a lógica nativa SYNC/PSYNC do Redis para gravar dados de um snapshot de memória no destino e, em seguida, sincroniza atualizações incrementais em tempo real. A migração completa é gratuita; a migração incremental é faturada por duração.

  • Full Data Migration: usa o comando SCAN para percorrer todo o banco de dados de origem. Não grave na origem durante esse tipo de migração, pois isso pode causar inconsistência de dados.

Pré-requisitos

Antes de começar, verifique se:

  • Existe uma instância de destino Tair (compatível com Redis OSS).

  • A instância de destino tem mais memória total do que a quantidade atualmente usada pela instância de origem — pelo menos 10% a mais. Por exemplo, se a origem estiver usando 10 GB, o destino precisa de pelo menos 11 GB de memória total. Memória insuficiente no destino causa inconsistência de dados ou falha na tarefa.

  • O Transparent Data Encryption (TDE) not está ativado na instância de destino. O DTS não suporta migração para instâncias com TDE habilitado.

  • A instância de destino não está executando a versão 2,8 do Tair (compatível com Redis OSS). O DTS não suporta instâncias 2,8.

Limitações

  • Não dimensione, altere o tipo de instância ou modifique o endpoint do banco de dados de origem ou de destino enquanto uma tarefa de migração estiver em execução. Essas operações causam falha na tarefa e exigem reconfiguração.

  • Execute a migração fora dos horários de pico, pois o processo consome recursos em ambas as instâncias.

  • A pré-verificação confirma se a política de evicção do banco de dados de destino está definida como noeviction. A política padrão do Tair (compatível com Redis OSS) é volatile-lru. Se o destino ficar sem memória com volatile-lru, os dados serão removidos silenciosamente, causando inconsistência. Definir noeviction faz com que as gravações falhem (e a tarefa também falhe) caso a memória acabe, mas nenhum dado é removido silenciosamente. Para mais informações, consulte Políticas de evicção de dados do Redis.

Configurar uma tarefa de migração

Etapa 1: Abrir a lista de tarefas de migração

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

  2. Na barra de menu superior, clique em Data + AI > Data Transmission Service (DTS) > Data Migration.

  3. No lado direito de Migration Tasks, selecione a região onde sua instância de destino está localizada.

Etapa 2: Criar uma tarefa e configurar bancos de dados

  1. Clique em Create Task.

  2. Configure os bancos de dados de origem e de destino usando os parâmetros a seguir.

    Configurações gerais

    Parâmetro

    Descrição

    Task Name

    O DTS gera um nome automaticamente. Especifique um nome descritivo para facilitar a identificação. O nome não precisa ser único.

    Source Database

    Parâmetro

    Descrição

    Select DMS Database Instance

    Se o banco de dados de origem já estiver adicionado ao DMS, selecione-o aqui. Os demais parâmetros de origem são preenchidos automaticamente. Caso contrário, ignore este campo.

    Database Type

    Selecione Tair/Redis.

    Connection Type

    Escolha o tipo correspondente ao local onde seu banco de dados de origem está implantado. Para uma instância na nuvem, selecione Cloud Instance.

    Instance Region

    Selecione a região onde a instância de origem reside.

    Cross-account Migration

    Selecione No se a origem e o destino estiverem na mesma conta Alibaba Cloud.

    Instance ID

    Selecione o ID da instância de origem.

    Authentication Method

    Escolha Password Login ou Password-free Login. Se o acesso sem senha via VPC não estiver habilitado, selecione Password Login.

    Database Password

    Insira a senha no formato <user>:<password> — por exemplo, admin:Rp829dlwa. Deixe em branco se nenhuma senha estiver definida.

    Destination Database

    Parâmetro

    Descrição

    Select DMS Database Instance

    Se o banco de dados de destino já estiver adicionado ao DMS, selecione-o aqui. Os demais parâmetros de destino são preenchidos automaticamente. Caso contrário, ignore este campo.

    Database Type

    Tair/Redis vem selecionado por padrão.

    Connection Type

    Selecione Cloud Instance.

    Instance Region

    Selecione a região onde a instância de destino reside.

    Instance ID

    Selecione o ID da instância de destino.

    Authentication Method

    Escolha Password Login ou Password-free Login. Se o acesso sem senha via VPC não estiver habilitado, selecione Password Login.

    Database Password

    Insira a senha no formato <user>:<password> — por exemplo, admin:Rp829dlwa.

  3. Clique em Test Connection And Proceed na parte inferior da página.

Etapa 3: Selecionar objetos de migração

Configure os objetos da tarefa e clique em Next: Advanced Configuration.

Parâmetro

Descrição

Migration Types

Escolha conforme suas necessidades. Full Migration + Incremental Migration (padrão): migra dados sem parar a origem. Selecione Full Data Migration apenas se você não tiver permissões SYNC ou PSYNC na origem.

Processing Mode for Existing Destination Tables

Precheck and Block on Error (padrão): verifica se existem chaves no banco de dados de destino. Se houver chaves, um erro é reportado durante a fase de pré-verificação e a tarefa de migração não inicia. Ignore and Continue: ignora a verificação Check For Existing Objects In The Destination Database. Se chaves com os mesmos nomes já existirem no banco de dados de destino, elas serão sobrescritas.

Source Objects / Selected Objects

Selecione os bancos de dados (DB 0–DB 255) a serem migrados e clique na seta para movê-los para Selected Objects.

Etapa 4: Configurar definições avançadas

Clique em Next: Data Validation. Na maioria dos casos, mantenha as configurações padrão. Para detalhes, consulte Apêndice: Configurações avançadas.

Etapa 5: Configurar definições de validação

Clique em Next: Save Task and Precheck. Na maioria dos casos, mantenha as configurações padrão. Para detalhes, consulte Configurar validação de dados para uma instância de sincronização ou migração do DTS.

Etapa 6: Executar a pré-verificação

Após a conclusão da pré-verificação:

  • Se todos os itens forem aprovados, prossiga para a próxima etapa.

  • Se algum item exibir Warning ou Failed, clique em View Details e resolva o problema seguindo as instruções. Clique em Confirm Alert Details para reconhecer um aviso, mas saiba que isso pode causar inconsistência de dados. Para obter ajuda na resolução de falhas na pré-verificação, consulte Problemas de pré-verificação. Execute novamente a pré-verificação após corrigir todos os problemas.

Clique em Next: Purchase.

Etapa 7: Comprar e iniciar a tarefa

Na página Purchase:

  1. (Opcional) Atribua um Resource Group. O grupo de recursos padrão é utilizado por padrão.

  2. (Opcional) Selecione uma classe de instância para o link de migração do DTS. Uma classe superior oferece uma taxa de migração mais rápida, mas custa mais. O padrão é large. Para especificações, consulte Especificações do link de migração de dados.

  3. Leia e aceite os termos de serviço.

  4. Clique em Purchase and Start.

A tarefa de migração será iniciada. Monitore o progresso na página Data Migration.

Etapa 8: Concluir a migração

  • Se você selecionou Full Migration + Incremental Migration, o DTS continua sincronizando atualizações incrementais após a conclusão da migração inicial. Quando estiver pronto para o corte, pare ou libere manualmente a tarefa no console.

  • Para verificar se todos os dados foram migrados corretamente, consulte Validar dados migrados.

Perguntas frequentes

Por que o teste de conexão falha?

Verifique os seguintes pontos:

Por que a tarefa de migração falha?

  • Dimensionar, alterar o tipo de instância ou mudar o endpoint da instância de origem ou de destino durante a migração causa falha na tarefa. Reconfigure a tarefa após a conclusão da operação.

  • Se a instância de destino ou um shard do cluster ficar sem memória (erro OOM), a tarefa falhará. Certifique-se de que o destino tenha memória suficiente antes de iniciar.

  • Se o TDE estiver habilitado na instância de destino, a migração via DTS não é suportada.

Por que há inconsistência de dados?

  • Chaves TTL: Se algumas chaves na origem tiverem uma política de tempo de vida (TTL), o destino poderá ter menos chaves porque as chaves expiradas podem não ser excluídas imediatamente.

  • Objetos List: O DTS não executa um FLUSH nos dados List existentes no destino ao usar PSYNC ou SYNC, o que pode resultar em entradas duplicadas.

  • Tentativas de migração completa: Se a rede for interrompida durante a migração completa, o DTS tenta novamente e sobrescreve chaves com o mesmo nome. Se a origem excluir uma chave durante uma nova tentativa, essa exclusão não será sincronizada, então o destino pode temporariamente ter mais dados que a origem.

Por que não consigo selecionar uma instância Tair (compatível com Redis OSS) 2,8?

O DTS não suporta instâncias Tair (compatíveis com Redis OSS) 2,8.

Por que a pré-verificação confirma se a política de evicção está definida como noeviction?

A política de evicção padrão (maxmemory-policy) do Tair (compatível com Redis OSS) é volatile-lru. Se o destino ficar sem memória, essa política aciona a evicção de dados, causando inconsistência entre origem e destino sem falhar a tarefa. Definir a política como noeviction evita perda silenciosa de dados: se a memória acabar, as gravações falham e a tarefa falha, mas nenhum dado é removido. Para mais informações, consulte Políticas de evicção de dados do Redis.

Por que existe uma chave DTS_REDIS_TIMESTAMP_HEARTBEAT no banco de dados de origem?

Para monitorar a qualidade da migração e sincronização, o DTS insere uma chave com o prefixo DTS_REDIS_TIMESTAMP_HEARTBEAT no banco de dados de origem para rastrear timestamps de atualização. Em arquiteturas cluster, o DTS insere essa chave em cada shard. O DTS filtra essa chave durante a migração, e ela expira automaticamente quando a tarefa termina.

Quais comandos são suportados para migração incremental?

Os seguintes comandos são suportados:

  • APPEND

  • BITOP, BLPOP, BRPOP, BRPOPLPUSH

  • DECR, DECRBY, DEL

  • EVAL, EVALSHA, EXEC, EXPIRE, EXPIREAT

  • FLUSHALL, FLUSHDB

  • 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, PUBLISH

  • 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

Nota: Para scripts Lua chamados por EVAL ou EVALSHA, o DTS não consegue confirmar se o script foi executado com sucesso no destino, pois o destino não retorna um resultado explícito de execução.

Referências

Se você deseja clonar todos os dados de uma instância Tair (compatível com Redis OSS) para uma nova instância em vez de migrar para uma existente, use o recurso de backup e restauração: