Este tópico descreve como usar o Data Transmission Service (DTS) para migrar dados de um banco de dados Redis autogerenciado para uma instância Tair (Redis OSS-Compatible). O DTS suporta migração de dados completa e incremental. A combinação desses tipos de migração permite migrar seu banco de dados Redis autogerenciado para a cloud de forma suave, com interrupção mínima do service.
Pré-requisitos
-
Você criou uma instância Redis autogerenciada de origem e uma instância de destino Tair (Redis OSS-Compatible). Para obter mais informações sobre como criar uma instância Tair (Redis OSS-Compatible), consulte Step 1: Create an instance.
NotaAtualmente, o DTS suporta apenas instâncias Tair (Redis OSS-Compatible) que utilizam o modo de conexão direta.
Para informações sobre as versões suportadas dos bancos de dados de origem e destino, consulte Migration solutions overview.
O Redis autogerenciado deve executar corretamente os comandos
psyncousync.A instância de destino Tair (Redis OSS-Compatible) precisa ter mais espaço de armazenamento disponível do que a quantidade utilizada pelo banco de dados Redis autogerenciado de origem.
Observações de uso
|
Tipo |
Descrição |
|
Limitações do banco de dados de origem |
|
|
Outras limitações |
|
Faturamento
|
Tipo de migração |
Taxa de configuração da instância |
Taxa de tráfego de Internet |
|
Migração completa de dados |
Gratuito. |
Quando o parâmetro Access Method do banco de dados de destino está definido como Public IP Address, você é cobrado pelo tráfego de Internet. Para obter mais informações, consulte Billing overview. |
|
Migração incremental de dados |
Cobrado. Para obter mais informações, consulte Billing overview. |
Tipos de migração
-
Migração completa de dados
O DTS migra todos os dados existentes dos objetos selecionados do banco de dados Redis autogerenciado para a instância de destino Tair (Redis OSS-Compatible).
NotaSe você realizar apenas uma migração completa de dados, não grave novos dados no banco de dados Redis autogerenciado durante a migração para garantir a consistência dos dados.
-
Migração incremental de dados
Além da migração completa de dados, o DTS migra atualizações incrementais de dados do banco de dados Redis autogerenciado para a instância de destino Tair (Redis OSS-Compatible). A migração incremental de dados permite uma transição suave para a cloud sem interrupções de service.
Comandos suportados para migração incremental
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
Preparações (para migração incremental)
Para garantir que a tarefa de migração incremental de dados seja executada conforme esperado, desative o limite do buffer de saída de replicação. Este tópico usa um servidor com Linux como exemplo.
Se você precisar realizar apenas uma migração completa de dados, pule esta etapa.
-
Use a ferramenta redis-cli para se conectar ao banco de dados Redis autogerenciado.
NotaVocê pode usar o redis-cli após instalar o Redis. Para obter mais informações, visite o site oficial da comunidade Redis.
redis-cli -h <host> -p <port> -a <password>Nota<host>: O endereço de conexão do banco de dados Redis autogerenciado. Você pode usar 127.0.0.1 para uma conexão local.
<port>: A porta de service do banco de dados Redis autogerenciado. O valor padrão é 6379.
<password>: A senha do banco de dados Redis autogerenciado.
Exemplo:
redis-cli -h 127.0.0.1 -p 6379 -a Test123456 -
Execute o seguinte comando para desativar o limite do buffer de saída de replicação.
config set client-output-buffer-limit 'slave 0 0 0'
Procedimento
-
Acesse a página da lista de tarefas de migração da região de destino usando um dos seguintes métodos.
Pelo console do DTS
Faça login no console do Data Transmission Service (DTS).
No painel de navegação à esquerda, clique em Data Migration.
No canto superior esquerdo da página, selecione a região onde a instância de migração está localizada.
Pelo console do DMS
NotaAs operações reais podem variar dependendo do modo e do layout do console do DMS. Para obter mais informações, consulte Simple mode console e Customize the layout and style of the DMS console.
Faça login no console do Data Management (DMS).
Na barra de menu superior, escolha .
À direita de Data Migration Tasks, selecione a região onde a instância de migração está localizada.
Clique em Create Task para acessar a página de configuração da tarefa.
-
Configure os bancos de dados de origem e destino.
Categoria
Parâmetro
Descrição
N/A
Task Name
O DTS gera automaticamente um nome para a tarefa. Recomendamos que você especifique 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 que foi added to the system (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é denominado Select a DMS database instance..
Se você não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione Tair/Redis.
Access Method
Selecione um método de acesso com base no local de implantação do seu banco de dados de origem. Este exemplo usa Self-managed Database on ECS.
NotaSe a instância de origem for um banco de dados autogerenciado, você também deve concluir o preparations necessário.
Instance Region
Selecione a região onde reside a instância ECS que hospeda o banco de dados Redis de origem.
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, os dados são migrados dentro da mesma conta Alibaba Cloud. Selecione No.
ECS Instance ID
Selecione o ID da instância ECS que hospeda o banco de dados Redis de origem.
NotaSe o banco de dados Redis de origem estiver em uma arquitetura de cluster, selecione o ID da instância ECS onde qualquer nó mestre reside. Você também deve adicionar manualmente o bloco CIDR do servidor DTS da região às regras do grupo de segurança de todas as outras instâncias do cluster. Para obter mais informações, consulte Create a security group, Associate a security group with an instance (primary ENI) e Add the CIDR blocks for DTS servers to an IP address whitelist.
Instance Mode
Selecione Standalone ou Cluster com base na arquitetura do banco de dados Redis de origem.
NotaSe o Access Method para o Redis autogerenciado for Public IP Address, o modo Cluster não será suportado para Instance Mode.
Port
Insira a porta de service do banco de dados Redis de origem. O valor padrão é 6379.
NotaSe o banco de dados Redis de origem estiver em uma arquitetura de cluster, insira a porta de service de qualquer nó mestre.
Authentication Method
Selecione um método de autenticação com base nos 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 para se conectar ao banco de dados Redis de origem.
NotaEste parâmetro é opcional. Você pode deixá-lo vazio se nenhuma senha estiver definida.
A senha deve estar no formato
<user>:<password>. Por exemplo, se o nome de usuário personalizado para a instância Redis foradmine 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 foi added to the system (criada ou salva), selecione a instância desejada na lista suspensa. As informações do banco de dados abaixo serão configuradas automaticamente.
NotaNo console do DMS, este parâmetro é denominado Select a DMS database instance..
Se você não registrou a instância de banco de dados no sistema ou não precisa usar uma instância registrada, configure manualmente as informações do banco de dados abaixo.
Database Type
Selecione Tair/Redis.
Access Method
Selecione Alibaba Cloud Instance.
Instance Region
Selecione a região onde reside a instância de destino Tair (Redis OSS-Compatible).
Replicate Data Across Alibaba Cloud Accounts
Neste exemplo, os dados são migrados dentro da mesma conta Alibaba Cloud. Selecione No.
Instance ID
Selecione o ID da instância de destino Tair (Redis OSS-Compatible).
Authentication Method
Selecione um método de autenticação com base nos 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 para se conectar à instância de destino Tair (Redis OSS-Compatible).
NotaA senha deve estar no formato
<user>:<password>. Por exemplo, se o nome de usuário personalizado para a instância Tair foradmine 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 o segmento de endereço IP do service DTS foi adicionado automática ou manualmente às configurações de segurança dos bancos de dados de origem e destino para permitir o acesso dos servidores DTS. Para obter mais informações, consulte Add DTS server IP addresses to a whitelist.
Se o banco de dados de origem ou destino for autogerenciado (o Access Method não é Alibaba Cloud Instance), você também deve clicar em Test Connectivity na caixa de diálogo CIDR Blocks of DTS Servers que aparece.
-
Configure os objetos da tarefa.
-
Na página Configure Objects, configure os objetos que deseja migrar.
Parâmetro
Descrição
Migration Types
Selecione Full Data Migration + Incremental Data Migration.
NotaSe a conta não tiver permissões
SYNCouPSYNCno banco de dados de origem, selecione Full Data Migration.Processing Mode of Conflicting Tables
Precheck and Report Errors: Verifica se o destino está vazio. Se o destino da migração estiver vazio, a pré-verificação é aprovada. Caso contrário, um erro é reportado durante a pré-verificação e o trabalho de migração de dados não inicia.
Ignore Errors and Proceed: Ignora o item de verificação Check the existence of objects in the destination database..
AvisoSe você selecionar Ignore Errors and Proceed e uma chave no destino tiver o mesmo nome que uma chave na origem durante a migração, os dados da origem sobrescreverão os dados no destino. Isso pode causar perda de dados no destino. Prossiga com cautela.
Source Objects
Na caixa Source Objects, clique nos objetos a serem migrados e, em seguida, clique em
para movê-los para a caixa Selected Objects.NotaVocê pode selecionar objetos no nível do banco de dados. Se precisar migrar dados de chaves específicas dentro de um banco de dados, use o recurso Filter task data with an SQL condition 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 as funções de mapeamento e filtragem. Na caixa Selected Objects, clique com o botão direito no banco de dados a ser migrado e configure as opções na caixa de diálogo Edit Schema. Para obter mais informações, consulte Object name mapping e Filter task data with an SQL condition.
-
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. Você não precisa selecionar um. Se desejar tarefas mais estáveis, adquira um dedicated cluster para executar tarefas de migração do DTS.
Retry Time for Failed Connections
Após o início da tarefa de migração, se a conexão com o banco de dados de origem ou destino falhar, o DTS reportará um erro e iniciará imediatamente uma nova tentativa de conexão. A duração padrão de nova tentativa é de 720 minutos. Você pode personalizar o tempo de nova tentativa para um valor entre 10 e 1440 minutos. Recomendamos definir a duração para mais de 30 minutos. Se o DTS se reconectar aos bancos de dados de origem e destino dentro da duração especificada, a tarefa de migração será retomada automaticamente. Caso contrário, a tarefa falhará.
NotaPara várias instâncias DTS que compartilham a mesma origem ou destino, o tempo de nova tentativa de rede é determinado pela configuração da última tarefa criada.
Como você é cobrado pela tarefa durante o período de nova tentativa de conexão, recomendamos personalizar o tempo de nova tentativa com base nas 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 migração, se ocorrer um problema não relacionado à conexão, como uma exceção de execução DDL ou DML, no banco de dados de origem ou destino, o DTS reportará um erro e iniciará imediatamente uma nova tentativa da operação. A duração padrão de nova tentativa é de 10 minutos. Você pode personalizar o tempo de nova tentativa para um valor entre 1 e 1440 minutos. Recomendamos definir a duração para mais de 10 minutos. Se as operações relacionadas forem bem-sucedidas dentro da duração de nova tentativa especificada, a tarefa de migraçã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 Migration
Durante a migração completa, o DTS consome recursos de leitura e gravação nos bancos de dados de origem e destino, o que pode aumentar a carga do banco de dados. Se necessário, você pode ativar o limitador de taxa para a tarefa de migração completa. Defina Queries per second (QPS) to the source database, RPS of Full Data Migration e Data migration speed for full migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste parâmetro está disponível apenas se você selecionar Full Data Migration em Migration Types.
Enable Throttling for Incremental Data Migration
Se necessário, você também pode optar por definir limites de velocidade para a tarefa de migração incremental. Defina RPS of Incremental Data Migration e Data migration speed for incremental migration (MB/s) para reduzir a carga no banco de dados de destino.
NotaEste parâmetro está disponível apenas se você selecionar Incremental Data Migration em Migration Types.
Extend Expiration Time of Destination Database Key
Defina um tempo de expiração adicional para as chaves quando elas forem migradas do banco de dados de origem para o banco de dados de destino. Para garantir a consistência dos dados, recomendamos definir um tempo de expiração estendido 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 timestampMsUse Slave Node
Se o Instance Mode do Redis autogerenciado de origem for Cluster, você poderá optar por ler dados de nós mestres ou réplicas. O padrão é No, o que significa que os dados são lidos dos nós mestres.
Environment Tag
Você pode selecionar uma tag de ambiente para identificar a instância com base nos seus requisitos. Neste exemplo, nenhuma seleção é necessária.
Configure ETL
Escolha se deseja ativar o recurso de extração, transformação e carregamento (ETL). Para obter 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 obter mais informações, consulte Configure ETL in a data migration or data synchronization task.
-
No: Desativa o recurso ETL.
Monitoring and Alerting
Selecione se deseja definir alertas e receber notificações de alerta com base nas necessidades do seu negócio.
No: Não define um alerta.
Yes: Configure alertas definindo um alert threshold e um notificações de alerta. Se uma migração falhar ou a latência exceder o limiar, o sistema enviará uma notificação de alerta.
-
Clique em Next: Data Validation para configurar uma tarefa de validação de dados.
Se 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 de configuração desta instância ao chamar a operação da API, passe o ponteiro sobre o botão Next: Save Task Settings and Precheck e clique em Preview OpenAPI parameters no balão que aparece.
Se você não precisar visualizar ou já tiver terminado 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 da tarefa de migração, o DTS realiza uma pré-verificação. A tarefa só começa após ser aprovada na pré-verificação.
Se a pré-verificação falhar, clique em View Details ao lado do item de verificação com falha, corrija o problema conforme a instrução e execute a pré-verificação novamente.
-
Se um aviso for reportado durante a pré-verificação:
Para itens de verificação que não podem ser ignorados, clique em View Details ao lado do item com falha, corrija o problema conforme a instrução e execute a pré-verificação novamente.
Para itens de verificação que podem ser ignorados, clique em Confirm Alert Details, Ignore, OK e Precheck Again para pular o item de alerta e executar a pré-verificação novamente. Se você optar por ignorar um aviso, isso pode causar problemas como inconsistência de dados e representar riscos para o seu negócio.
-
Adquira a instância.
Quando a Success Rate for 100%, clique em Next: Purchase Instance.
-
Na página Purchase, selecione a especificação de link para a instância de migração de dados. Para obter mais informações, consulte a tabela a seguir.
Categoria
Parâmetro
Descrição
New Instance Class
Resource Group Settings
Selecione o grupo de recursos ao qual a instância pertence. O valor padrão é o grupo de recursos padrão. Para obter mais informações, consulte What is resource management?
Instance Class
O DTS fornece especificações de migração com diferentes níveis de desempenho. A especificação do link afeta a velocidade da migração. Selecione uma especificação com base no seu cenário de negócios. Para obter mais informações, consulte Data migration link specifications.
Após concluir a configuração, leia e selecione Data Transmission Service (Pay-as-you-go) Service Terms.
-
Clique em Buy and Start e, em seguida, clique em OK na caixa de diálogo OK.
Você pode visualizar o progresso específico na página de migração de dados.
NotaSe sua instância DTS estiver configurada para migração completa e incremental (Migration Types inclui tanto Full Data Migration quanto Incremental Data Migration), a tarefa será listada como Incremental Data Migration na página da lista de tarefas de migração.