Configurar a persistência de dados para uma instância de Cache do Azure para Redis
A persistência do Redis permite persistir os dados armazenados na instância de cache. Se houver uma falha de hardware, a instância de cache será reidratada com dados do arquivo de persistência quando ela voltar a ficar online. A capacidade de persistir dados é uma maneira importante de aumentar a durabilidade de uma instância de cache porque todos os dados de cache são armazenados na memória. A perda de dados é possível se ocorrer uma falha quando os nós de cache estiverem inativos. A persistência deve ser uma parte fundamental da sua estratégia de alta disponibilidade e recuperação de desastre com o Cache do Azure para Redis.
Aviso
Se você estiver usando persistência na camada Premium, verifique se sua conta de armazenamento tem a exclusão temporária habilitada antes de usar o recurso de persistência de dados. Usar a persistência de dados com exclusão temporária causa custos de armazenamento muito altos. Para obter mais informações, confira devo habilitar a exclusão temporária?.
Aviso
A opção gravar sempre para persistência do AOF nas camadas Enterprise e Enterprise Flash está definida para ser desativada em 1º de abril de 2025. Essa opção tem limitações significativas de desempenho e não é mais recomendada. Em vez disso, é recomendável usar a opção gravar a cada segundo ou usar a persistência RDB.
Escopo de disponibilidade
Camada | Básico, Standard | Premium | Enterprise, Enterprise Flash |
---|---|---|---|
Disponível | Não | Yes | Sim (versão prévia) |
Tipos de persistência de dados no Redis
Você tem duas opções de persistência com o Cache do Azure para Redis: o formato Banco de dados do Redis (RDB) e o formato Acrescentar somente arquivo (AOF):
- Persistência RDB - quando você usa a persistência RDB, o Cache do Azure para Redis persiste um instantâneo do seu cache em um formato binário. O instantâneo é salvo em uma conta de Armazenamento do Microsoft Azure. A frequência de backup configurável determina a frequência de persistência do instantâneo. Se ocorrer um evento catastrófico que desabilite o cache primário e a réplica, o cache será reconstruído automaticamente usando o instantâneo mais recente. Saiba mais sobre as vantagens e as desvantagens de persistência de RDB.
- Persistência de AOF – quando você usa a persistência AOF, o Cache do Azure para Redis salva cada operação de gravação em um log. O log é salvo pelo menos uma vez por segundo em uma conta de Armazenamento do Microsoft Azure. Se ocorrer um evento catastrófico que desative os caches primário e de réplica, o cache será reconstruído automaticamente usando as operações de gravação armazenadas. Saiba mais sobre as vantagens e as desvantagens da persistência de AOF.
Os recursos de persistência do Cache do Azure para Redis devem ser utilizados para restaurar dados automaticamente no mesmo cache após a perda de dados. Os arquivos de dados persistentes RDB/AOF não podem ser importados para um novo cache ou cache existente. Para mover dados entre caches, use o recurso Importar/Exportar. Para obter mais informações, confira Importar e exportar dados no Cache do Azure para Redis.
Para gerar backups de dados que podem ser adicionados a um novo cache, você pode escrever scripts automatizados usando o PowerShell ou a CLI para exportar dados periodicamente.
Pré-requisitos e limitações
Os recursos de persistência devem ser usados para restaurar dados no mesmo cache após a perda de dados.
- Os arquivos de dados persistentes RDB/AOF não podem ser importados para um novo cache ou cache existente. Em vez disso, use o recurso Importação/Exportação.
- Não há suporte para persistência com caches usando replicação geográfica passiva ou replicação geográfica ativa.
- Na camada Premium, não há suporte para persistência AOF com várias réplicas.
- Na camada Premium, os dados devem ser persistidos em uma conta de armazenamento na mesma região que a instância de cache.
- Na camada Premium, contas de armazenamento em assinaturas diferentes podem ser usadas para persistir dados se a identidade gerenciada for usada para se conectar à conta de armazenamento.
Diferenças entre persistência nas camadas Premium e Enterprise
Na camada Premium, os dados são persistidos diretamente em uma conta de Armazenamento do Azure que você possui e gerencia. O Armazenamento do Azure criptografa automaticamente os dados quando eles são persistentes, mas você também pode usar suas próprias chaves para a criptografia. Para obter mais informações, confira Chaves gerenciadas pelo cliente para criptografia do Armazenamento do Azure.
Aviso
Se você estiver usando persistência na camada Premium, verifique se sua conta de armazenamento tem a exclusão temporária habilitada antes de usar o recurso de persistência de dados. Usar a persistência de dados com exclusão temporária causa custos de armazenamento muito altos. Para obter mais informações, confira devo habilitar a exclusão temporária?.
Nas camadas Enterprise e Enterprise Flash, os dados são persistidos em um disco gerenciado anexado diretamente à instância de cache. O local não é configurável nem acessível ao usuário. O uso de um disco gerenciado aumenta o desempenho da persistência. O disco é criptografado usando chaves gerenciadas pela Microsoft (MMK) por padrão, mas chaves gerenciadas pelo cliente (CMK) também podem ser usadas. Para obter mais informações, confira gerenciamento de criptografia de dados.
Como configurar a persistência de dados usando o portal do Azure
Como configurar a persistência de dados usando o PowerShell e a CLI do Azure
Gerenciando a criptografia de dados
Como a persistência do Redis cria dados inativos, criptografar esses dados é uma preocupação importante para muitos usuários. As opções de criptografia variam de acordo com a camada de Cache do Azure para Redis que está sendo usada.
Com a camada Premium, os dados são transmitidos diretamente da instância de cache para o Armazenamento do Microsoft Azure quando a persistência é iniciada. Vários métodos de criptografia podem ser usados com o Armazenamento do Azure, incluindo chaves gerenciadas pela Microsoft, chaves gerenciadas pelo cliente e chaves fornecidas pelo cliente. Para obter informações sobre métodos de criptografia, confira Criptografia do Armazenamento do Microsoft Azure para dados inativos.
Com as camadas Enterprise e Enterprise Flash, os dados são armazenados em um disco gerenciado montado na instância de cache. Por padrão, o disco que contém os dados de persistência e o disco do sistema operacional são criptografados usando chaves gerenciadas pela Microsoft. Uma chave gerenciada pelo cliente (CMK) também pode ser usada para controlar a criptografia de dados. Confira Criptografia em caches de camada Enterprise para obter instruções.
Perguntas frequentes sobre persistência
A lista a seguir contém respostas para perguntas frequentes sobre a persistência do Cache Redis do Azure.
- Posso habilitar a persistência em um cache criado anteriormente?
- Posso habilitar a persistência de AOF e RDB ao mesmo tempo?
- Como a persistência funciona com a replicação geográfica?
- Qual modelo de persistência eu devo escolher?
- O que acontecerá se eu tiver dimensionado para um tamanho diferente e um backup que foi feito antes da operação de escala for restaurado?
- Posso usar a mesma conta de armazenamento para persistência em dois caches diferentes?
- Serei cobrado pelo armazenamento que está sendo usado na persistência de dados
- Com que frequência a persistência de RDB e AOF é escrita em meus blobs e devo habilitar a exclusão temporária?
- Ter exceções de firewall na conta de armazenamento afetará a persistência?
- Como fazer para verificar se a exclusão temporária está habilitada na minha conta de armazenamento?
Persistência de RDB
- Posso alterar a frequência de backup de RDB depois de criar o cache?
- Por que quando eu tenho uma frequência de backup de RDB de 60 minutos há mais de 60 minutos entre os backups?
- O que acontece com os backups de RDB antigos quando um backup novo é realizado?
Persistência de AOF
- Quando devo usar uma segunda conta de armazenamento?
- A persistência AOF afeta a taxa de transferência, latência ou desempenho de meu cache?
- Como posso remover a segunda conta de armazenamento?
- O que é uma regravação e como ela afeta meu cache?
- O que devo esperar ao dimensionar um cache com o AOF habilitado?
- Como os dados de AOF são organizados no armazenamento?
- Posso ter a persistência de AOF habilitada se eu tiver mais de uma réplica?
Posso habilitar a persistência em um cache criado anteriormente?
Sim, a persistência do Redis pode ser configurada ao criar o cache e em caches Premium, Enterprise ou Enterprise Flash existentes.
Posso habilitar a persistência de AOF e RDB ao mesmo tempo?
Não, você pode habilitar apenas RDB ou AOF, mas não ambas ao mesmo tempo.
Como a persistência funciona com a replicação geográfica?
Se você habilitar a persistência de dados, a replicação geográfica não poderá ser habilitada para seu cache.
Qual modelo de persistência eu devo escolher?
A persistência AOF salva todas as gravações em um log, o que tem um efeito significativo na taxa de transferência. Comparado AOF com persistência de RDB, que salva backups com base no intervalo de backup configurado com efeito mínimo para o desempenho. Escolha a persistência de AOF se o seu principal objetivo for minimizar a perda de dados, e se você pode manipular uma diminuição na taxa de transferência de seu cache. Escolha a persistência de RDB se você quiser manter a taxa de transferência ideal em seu cache, mas ainda quiser um mecanismo para recuperação de dados.
- Saiba mais sobre as vantagens e as desvantagens de persistência de RDB.
- Saiba mais sobre as vantagens e as desvantagens da persistência de AOF.
Para saber mais sobre o desempenho ao usar a persistência AOF, veja A persistência AOF afeta a taxa de transferência, latência ou desempenho de meu cache?
A persistência AOF afeta a taxa de transferência, latência ou desempenho de meu cache?
Sim, a persistência AOF afeta a taxa de transferência. O AOF é executado no processo primário e réplica, portanto, você vê maior carga de servidor e CPU para um cache com persistência AOF do que para um cache idêntico sem persistência AOF. O AOF oferece a melhor consistência com os dados na memória porque cada gravação e exclusão é persistida com apenas alguns segundos de atraso. A desvantagem é que o AOF é mais intensivo em computação.
Desde que a CPU e a Carga do Servidor sejam inferiores a 90%, há uma penalidade na taxa de transferência, mas o cache opera normalmente, fora isso. Acima de 90% da CPU e da Carga do Servidor, a penalidade de taxa de transferência pode ficar muito maior e a latência de todos os comandos processados pelo cache aumenta. A latência aumenta porque a persistência AOF é executada no processo primário e réplica, aumentando a carga no nó em uso e colocando persistência no caminho crítico dos dados.
O que acontecerá se eu tiver dimensionado para um tamanho diferente e um backup que foi feito antes da operação de escala for restaurado?
Para a persistência de RDB e AOF:
- Se você tiver escalado para um tamanho maior, não haverá nenhum efeito.
- Se você tiver dimensionado para um tamanho menor e tem uma configuração personalizada dos bancos de dados maior que o limite dos bancos de dados para o novo tamanho, os dados nesses bancos de dados não serão restaurados. Para obter mais informações, consulte A configuração dos meus bancos de dados personalizados é afetada durante o dimensionamento?
- Se você tiver dimensionado para um tamanho menor e não houver espaço suficiente no menor tamanho para conter todos os dados do último backup, as chaves serão removidas durante o processo de restauração. Geralmente, as chaves são removidas usando a política de remoção allkeys-lru.
Posso usar a mesma conta de armazenamento para persistência em dois caches diferentes?
Não, você deve usar contas de armazenamento diferentes para caches diferentes. Cada cache deve ter sua própria conta de armazenamento para configurar para persistência.
Importante
Use contas de armazenamento separadas para persistência e execução de operações de exportação periódicas em um cache.
Serei cobrado pelo armazenamento que está sendo usado na persistência de dados?
- Para caches Premium, você é cobrado pelo armazenamento que está sendo usado de acordo com o modelo de preços da conta de armazenamento que está sendo usada.
- Para caches Enterprise e Enterprise Flash, você não é cobrado pelo armazenamento em disco gerenciado. Está incluso no preço.
Com que frequência a persistência de RDB e AOF é escrita em meus blobs e devo habilitar a exclusão temporária?
Recomendamos que você evite habilitar a exclusão temporária em contas de armazenamento quando usadas com a persistência de dados do Cache do Azure para Redis com a camada Premium. A persistência de RDB e AOF pode gravar em seus blobs com a frequência de cada hora, a cada alguns minutos ou a cada segundo. Além disso, a habilitação da exclusão temporária em uma conta de armazenamento Cache do Azure para Redis não pode minimizar os custos de armazenamento excluindo os dados de backup antigos.
A exclusão temporária pode se tornar rapidamente cara com os tamanhos de dados típicos de um cache que também executa operações de gravação a cada segundo. Para obter mais informações sobre custos de exclusão temporária, consulte Preço e cobrança.
Posso alterar a frequência de backup de RDB depois de criar o cache?
Sim, você pode alterar a frequência de backup para persistência RDB usando o portal do Azure, a CLI ou o PowerShell.
Por que quando eu tenho uma frequência de backup de RDB de 60 minutos há mais de 60 minutos entre os backups?
O intervalo da frequência de backup da persistência de RDB não é iniciado até que o processo de backup anterior seja concluído com êxito. Se a frequência de backup for de 60 minutos e usar um processo de backup de 15 minutos para concluir com êxito, o próximo backup não será iniciado até 75 minutos após a hora de início do backup anterior.
O que acontece com os backups de RDB antigos quando um backup novo é realizado?
Todos os backups da persistência de RDB, exceto pelo mais recente, serão excluídos automaticamente. Essa exclusão pode não acontecer imediatamente, mas os backups mais antigos não são persistidos por tempo indeterminado. Se você estiver usando a camada Premium para persistência e a exclusão temporária estiver ativa para sua conta de armazenamento, a configuração da exclusão temporária será aplicada e os backups existentes continuarão residindo no estado de exclusão temporária.
Quando devo usar uma segunda conta de armazenamento?
Você deve usar uma segunda conta de armazenamento para a persistência AOF quando acreditar que tem mais operações de conjunto do que o esperado no cache. Configurar a conta de armazenamento secundária ajuda a garantir que o cache não atinja os limites de largura de banda de armazenamento. Esta opção está disponível somente para caches de camada Premium.
Como posso remover a segunda conta de armazenamento?
Você pode remover a conta de armazenamento secundária de persistência de AOF definindo a segunda conta de armazenamento como a mesma que a primeira conta de armazenamento. Para caches existentes, acesse Persistência de dados no Menu de recursos do seu cache. Para desabilitar a persistência do AOF, clique em Desabilitado.
O que é uma regravação e como ela afeta meu cache?
Quando o arquivo AOF fica muito grande, uma regeneração é automaticamente enfileirada no cache. A regeneração redimensiona o arquivo AOF com o conjunto mínimo de operações necessárias para criar o conjunto de dados atual. Durante as regravações, você pode esperar atingir os limites de desempenho mais cedo, especialmente ao lidar com grandes conjuntos de dados. As regravações ocorrem com menos frequência à medida que o arquivo de AOF fica maior, mas demoram muito mais quando acontecem.
O que devo esperar ao dimensionar um cache com o AOF habilitado?
Se o arquivo de AOF no momento da colocação em escala for grande, espere que a operação de dimensionamento demore mais do que o esperado, pois ela recarrega o arquivo após a conclusão do dimensionamento.
Para saber mais sobre dimensionamento, confira O que acontecerá se eu tiver dimensionado para um tamanho diferente e um backup que foi feito antes da operação de escala for restaurado?
Como os dados de AOF são organizados no armazenamento?
Quando você usa a camada Premium, os dados armazenados em arquivos AOF são divididos em vários blobs de páginas por fragmento. Por padrão, metade dos blobs são salvos na conta de armazenamento primário e metade é salva na conta de armazenamento secundária. Dividir os dados entre vários blobs de páginas e duas contas de armazenamento diferentes aumenta o desempenho.
Se a taxa de pico de gravações no cache não for muito alta, esse desempenho extra talvez não seja necessário. Nesse caso, a configuração da conta de armazenamento secundária pode ser removida. Todos os arquivos AOF são armazenados em uma única conta de armazenamento primária. A tabela a seguir exibe quantos blobs de páginas totais são usados para cada tipo de preço:
Camada premium | Blobs |
---|---|
P1 | 8 por fragmento |
P2 | 16 por fragmento |
P3 | 32 por fragmento |
P4 | 40 por fragmento |
Quando o clustering estiver habilitado, cada fragmento no cache terá seu próprio conjunto de blobs de página, conforme indicado na tabela anterior. Por exemplo, um cache de P2 com três fragmentos distribui seu arquivo AOF em 48 blobs de páginas: dezesseis blobs por fragmento, com três fragmentos.
Após uma regeneração, dois conjuntos de arquivos AOF existirão no armazenamento. As regravações ocorrem em segundo plano e acrescentam ao primeiro conjunto de arquivos. Definir operações, enviadas para o cache durante a regravação, anexar ao segundo conjunto. Um backup é armazenado temporariamente durante as regravações em caso de falha. O backup é imediatamente excluído após a regravação ser finalizada. Caso se a exclusão temporária estiver ativa para sua conta de armazenamento, a configuração da exclusão temporária será aplicada e os backups existentes continuarão no estado de exclusão temporária.
Ter exceções de firewall na conta de armazenamento afetará a persistência?
Sim. O uso de configurações de firewall na conta de armazenamento pode impedir que o recurso de persistência funcione. Você pode ver se há erros na persistência de dados exibindo a métrica Erros. Esta métrica indicará se o cache não pode persistir dados devido a restrições de firewall na conta de armazenamento ou outros problemas.
Para usar a persistência de dados com uma conta de armazenamento que tenha um firewall configurado, use a autenticação baseada em identidade gerenciada para se conectar ao armazenamento. O uso da identidade gerenciada adiciona a instância de cache à lista de serviços confiáveis, facilitando a realização de exceções de firewall. Se você não estiver usando a identidade gerenciada e, em vez disso, autorizar uma conta de armazenamento usando uma chave, ter exceções de firewall na conta de armazenamento tende a interromper o processo de persistência. Isso só se aplica à persistência na camada Premium.
Posso ter a persistência de AOF habilitada se eu tiver mais de uma réplica?
Com a camada Premium, você não pode usar a persistência de Arquivo somente acréscimo (AOF) com várias réplicas. Nas camadas Enterprise e Enterprise Flash, a arquitetura de réplica é mais complicada, mas há suporte para persistência AOF quando caches Enterprise são usados na implantação com redundância de zona.
Como fazer para verificar se a exclusão temporária está habilitada na minha conta de armazenamento?
Selecione a conta de armazenamento que seu cache está usando para persistência. Selecione Proteção de Dados no menu Recurso. No painel de trabalho, verifique o estado de Habilitar exclusão temporária de blobs. Para obter mais informações sobre a exclusão temporária nas contas de armazenamento do Azure, consulte Habilitar a exclusão temporária para blobs.
Próximas etapas
Saiba mais sobre os recursos do Cache do Azure para Redis.