Configurar a persistência de dados para uma instância do Cache do Azure para Redis
A persistência do Redis permite que você persista 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 ele voltar a ficar online. A capacidade de persistir dados é uma maneira importante de aumentar a durabilidade de uma instância de cache, pois 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 desastres com o Cache do Azure para Redis.
Aviso
Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.
Aviso
A opção sempre gravar para persistência AOF nas camadas Enterprise e Enterprise Flash está definida para ser desativada em 1º de abril de 2025. Esta opção tem limitações de desempenho significativas não é mais recomendada. Em vez disso, recomenda-se usar a opção de gravação a cada segundo ou a persistência RDB.
Âmbito da disponibilidade
Escalão de serviço | Básico, Standard | Premium | Empresa, Enterprise Flash |
---|---|---|---|
Disponível | Não | Sim | Sim (pré-visualização) |
Tipos de persistência de dados no Redis
Você tem duas opções para persistência com o Cache do Azure para Redis: o formato de banco de dados Redis (RDB) e o formato Append only File (AOF):
- Persistência RDB - Quando você usa a persistência RDB, o Cache Redis do Azure persiste um instantâneo do cache em um formato binário. O instantâneo é salvo em uma conta de Armazenamento do Azure. A frequência de backup configurável determina a frequência com que o snapshot deve ser persistido. Se ocorrer um evento catastrófico que desative o cache primário e de réplica, o cache será reconstruído automaticamente usando o instantâneo mais recente. Saiba mais sobre as vantagens e desvantagens da persistência do RDB.
- Persistência AOF - Quando você usa a persistência AOF, o Cache Redis do Azure salva todas as operações de gravação em um log. O log é salvo pelo menos uma vez por segundo em uma conta de Armazenamento do 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 desvantagens da persistência de AOF.
Os recursos de persistência do Cache do Azure para Redis destinam-se a ser usados para restaurar dados automaticamente para o 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 para o cache existente. Para mover dados entre caches, use o recurso Importar e Exportar . Para obter mais informações, consulte 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 que exportam dados periodicamente.
Pré-requisitos e limitações
Os recursos de persistência destinam-se a ser usados para restaurar dados para o 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 para o cache existente. Em vez disso, use o recurso Importar/Exportar .
- Não há suporte para persistência em caches que usam replicação geográfica passiva ou replicação geográfica ativa.
- Na camada Premium, a persistência do AOF não é suportada com várias réplicas.
- Na camada Premium, os dados devem ser mantidos em uma conta de armazenamento na mesma região da instância de cache.
- No nível Premium, as contas de armazenamento em assinaturas diferentes podem ser usadas para manter os dados se a identidade gerenciada for usada para se conectar à conta de armazenamento.
Diferenças entre a persistência nos níveis Premium e Enterprise
Na camada Premium, os dados são mantidos diretamente em uma conta de Armazenamento do Azure que você possui e gerencia. O Armazenamento do Azure criptografa automaticamente os dados quando eles persistem, mas você também pode usar suas próprias chaves para a criptografia. Para obter mais informações, consulte Chaves gerenciadas pelo cliente para criptografia de Armazenamento do Azure.
Aviso
Se você estiver usando persistência no nível Premium, verifique se sua conta de armazenamento tem a exclusão suave habilitada antes de usar o recurso de persistência de dados. A utilização da persistência de dados com a eliminação recuperável origina custos de armazenamento muito elevados. Para obter mais informações, consulte Devo ativar a exclusão suave?.
Nas camadas Enterprise e Enterprise Flash, os dados são mantidos em um disco gerenciado conectado 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 da Microsoft (MMK) por padrão, mas as chaves gerenciadas pelo cliente (CMK) também podem ser usadas. Para obter mais informações, consulte Gerenciando 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 em repouso, criptografar esses dados é uma preocupação importante para muitos usuários. As opções de criptografia variam de acordo com a camada do Cache Redis do Azure que está sendo usada.
Com a camada Premium, os dados são transmitidos diretamente da instância de cache para o Armazenamento do 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, consulte Criptografia do Armazenamento do Azure para dados em repouso.
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. Consulte 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 AOF e RDB ao mesmo tempo?
- Como funciona a persistência com a replicação geográfica?
- Que modelo de persistência devo escolher?
- O que acontece se eu tiver dimensionado para um tamanho diferente e for restaurado um backup que foi feito antes da operação de dimensionamento?
- Posso usar a mesma conta de armazenamento para persistência em dois caches diferentes?
- Serei cobrado pelo armazenamento que está sendo usado no Data Persistence
- Com que frequência a persistência RDB e AOF grava em meus blobs e devo habilitar a exclusão suave?
- Ter exceções de firewall na conta de armazenamento afetará a persistência
- Como posso verificar se a eliminação suave está ativada na minha conta de armazenamento?
Persistência do RDB
- Posso alterar a frequência de backup RDB depois de criar o cache?
- Por que há mais de 60 minutos entre backups quando tenho uma frequência de backup RDB de 60 minutos?
- O que acontece com os backups RDB antigos quando um novo backup é feito?
Persistência do AOF
- Quando devo usar uma segunda conta de armazenamento?
- A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho do meu cache?
- Como posso remover a segunda conta de armazenamento?
- O que é uma reescrita e como ela afeta meu cache?
- O que devo esperar ao dimensionar um cache com o AOF habilitado?
- Como meus dados AOF são organizados no armazenamento?
- Posso habilitar a persistência do AOF se tiver mais de uma réplica?
Posso habilitar a persistência em um cache criado anteriormente?
Sim, a persistência pode ser configurada tanto na criação de cache quanto em caches Premium, Enterprise ou Enterprise Flash existentes.
Posso habilitar a persistência AOF e RDB ao mesmo tempo?
Não, você pode habilitar RDB ou AOF, mas não ambos ao mesmo tempo.
Como funciona a persistência 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.
Que modelo de persistência devo escolher?
A persistência AOF salva cada gravação em um log, o que tem um efeito significativo na taxa de transferência. Comparado AOF com persistência RDB, que salva backups com base no intervalo de backup configurado com efeito mínimo no desempenho. Escolha a persistência AOF se seu objetivo principal for minimizar a perda de dados e você puder lidar com uma taxa de transferência mais baixa para seu cache. Escolha a persistência RDB se desejar manter a taxa de transferência ideal no cache, mas ainda assim quiser um mecanismo para recuperação de dados.
- Saiba mais sobre as vantagens e desvantagens da persistência do RDB.
- Saiba mais sobre as vantagens e desvantagens da persistência de AOF.
Para obter mais informações sobre o desempenho ao usar a persistência do AOF, consulte A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho do meu cache?
A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho do meu cache?
A persistência do AOF afeta a taxa de transferência. O AOF é executado no processo primário e de réplica, portanto, você vê uma CPU e uma carga de servidor mais altas para um cache com persistência AOF do que 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 contrapartida é 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 funciona normalmente, caso contrário. 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 do AOF é executada no processo primário e na réplica, aumentando a carga no nó em uso e colocando a persistência no caminho crítico dos dados.
O que acontece se eu tiver dimensionado para um tamanho diferente e for restaurado um backup que foi feito antes da operação de dimensionamento?
Para a persistência de RDB e AOF:
- Se você tiver dimensionado para um tamanho maior, não haverá efeito.
- Se você tiver dimensionado para um tamanho menor e tiver uma configuração de bancos de dados personalizada maior do que o limite de bancos de dados para seu novo tamanho, os dados nesses bancos de dados não serão restaurados. Para obter mais informações, consulte Minha configuração de bancos de dados personalizados é afetada durante o dimensionamento?
- Se você tiver dimensionado para um tamanho menor e não houver espaço suficiente no tamanho menor para armazenar todos os dados do último backup, as chaves serão removidas durante o processo de restauração. Normalmente, 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 execute 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á incluído no preço.
Com que frequência a persistência RDB e AOF grava em meus blobs e devo habilitar a exclusão suave?
Recomendamos que você evite habilitar a exclusão suave em contas de armazenamento quando usado com o Cache do Azure para persistência de dados Redis com a camada Premium. A persistência RDB e AOF pode gravar em seus blobs a cada hora, a cada poucos minutos ou a cada segundo. Além disso, habilitar a exclusão suave em uma conta de armazenamento significa que o Cache Redis do Azure não pode minimizar os custos de armazenamento excluindo os dados de backup antigos.
A exclusão suave rapidamente se torna 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 suave, consulte Preços e cobrança.
Posso alterar a frequência de backup RDB depois de criar o cache?
Sim, você pode alterar a frequência de backup para persistência RDB usando o portal do Azure, CLI ou PowerShell.
Por que há mais de 60 minutos entre backups quando tenho uma frequência de backup RDB de 60 minutos?
O intervalo de frequência de backup de persistência RDB não é iniciado até que o processo de backup anterior tenha sido concluído com êxito. Se a frequência de backup for de 60 minutos e um processo de backup levar 15 minutos para ser concluído, 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 RDB antigos quando um novo backup é feito?
Todos os backups de persistência RDB, exceto o mais recente, são excluídos automaticamente. Essa exclusão pode não acontecer imediatamente, mas os backups mais antigos não são mantidos indefinidamente. Se você estiver usando a camada Premium para persistência e a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão a residir no estado de exclusão suave.
Quando devo usar uma segunda conta de armazenamento?
Use uma segunda conta de armazenamento para persistência do AOF quando achar que tem operações de conjunto acima do esperado no cache. Configurar a conta de armazenamento secundário ajuda a garantir que o cache não atinja os limites de largura de banda de armazenamento. Esta opção só está disponível para caches de nível Premium.
Como posso remover a segunda conta de armazenamento?
Você pode remover a conta de armazenamento secundário de persistência AOF definindo a segunda conta de armazenamento como igual à primeira conta de armazenamento. Para caches existentes, acesse a persistência de dados no menu Recurso do cache. Para desativar a persistência do AOF, selecione Desativado.
O que é uma reescrita e como ela afeta meu cache?
Quando o arquivo AOF se torna grande o suficiente, uma regravação é automaticamente enfileirada no cache. A regravaçã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 AOF se torna maior, mas levam uma quantidade significativa de tempo quando acontecem.
O que devo esperar ao dimensionar um cache com o AOF habilitado?
Se o arquivo AOF no momento do dimensionamento for grande, espere que a operação de escala demore mais do que o esperado, pois recarrega o arquivo após a conclusão do dimensionamento.
Para obter mais informações sobre dimensionamento, consulte O que acontece se eu tiver dimensionado para um tamanho diferente e for restaurado um backup que foi feito antes da operação de dimensionamento?
Como meus dados 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ágina por fragmento. Por padrão, metade dos blobs são salvos na conta de armazenamento principal e metade é salva na conta de armazenamento secundário. Dividir os dados em vários blobs de página 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 pode não ser necessário. Nesse caso, a configuração da conta de armazenamento secundário pode ser removida. Em vez disso, todos os arquivos AOF são armazenados apenas na única conta de armazenamento principal. A tabela a seguir exibe quantos blobs de página totais são usados para cada nível de preço:
Escalão Premium | Blobs |
---|---|
P1 | 8 por estilhaço |
P2 | 16 por estilhaço |
P3 | 32 por estilhaço |
P4 | 40 por estilhaço |
Quando o clustering está habilitado, cada fragmento no cache tem seu próprio conjunto de blobs de página, conforme indicado na tabela anterior. Por exemplo, um cache P2 com três fragmentos distribui seu arquivo AOF em 48 blobs de página: dezesseis blobs por fragmento, com três fragmentos.
Após uma regravação, dois conjuntos de arquivos AOF existem 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 se houver uma falha. O backup é prontamente excluído após a conclusão de uma regravação. Se a exclusão suave estiver ativada para sua conta de armazenamento, a configuração de exclusão suave será aplicada e os backups existentes continuarão no estado de exclusão suave.
Ter exceções de firewall na conta de armazenamento afetará a persistência?
O uso da identidade gerenciada adiciona a instância de cache à lista de serviços confiáveis, facilitando a execuçã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 no nível Premium.
Posso habilitar a persistência do AOF se tiver mais de uma réplica?
Com a camada Premium, não é possível usar a persistência AOF (Append-only File) com várias réplicas. Nas camadas Enterprise e Enterprise Flash, a arquitetura de réplica é mais complicada, mas a persistência AOF é suportada quando caches Enterprise são usados na implantação redundante de zona.
Como posso verificar se a eliminação suave está ativada na minha conta de armazenamento?
Selecione a conta de armazenamento que o cache está usando para persistência. Selecione Proteção de dados no menu Recurso. No painel de trabalho, verifique o estado de Ativar exclusão suave para blobs. Para obter mais informações sobre exclusão suave em contas de armazenamento do Azure, consulte Habilitar exclusão suave para blobs.
Próximos passos
Saiba mais sobre os recursos do Cache do Azure para Redis.