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 |
|
|
Outras limitações |
|
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
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
-
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
Faça login no console do Data Transmission Service (DTS).
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 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.
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 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.
NotaNo 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.
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 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.
NotaA 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 forRp829dlwa, insiraadmin:Rp829dlwa.Encryption
Selecione Non-encrypted ou SSL-encrypted conforme os 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 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.
NotaNo 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.
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 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.
NotaA 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 forRp829dlwa, insiraadmin:Rp829dlwa.Encryption
Selecione Non-encrypted ou SSL-encrypted conforme os 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 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.
-
Configure os objetos da tarefa.
-
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.
NotaEste 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..
AvisoSe 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.
-
-
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á.
ImportanteO 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).
NotaEste 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.
NotaEm 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 timestampMsConfigure 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:
-
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 a um contato de alerta.
-
No: Nenhum alerta é configurado.
-
Yes: Configure alertas definindo um limiar de alerta e especificando um notificação de alerta. 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.
Para usar o recurso de validação de dados, consulte Configure data validation para 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 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.
NotaAntes 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.
-
Adquira a instância.
Quando a Success Rate for 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: 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.
NotaEsta opção está disponível apenas quando o método de faturamento é 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 exibida, clique em OK.
Visualize o progresso da tarefa na página Data Synchronization.
NotaSe 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.