Configurar a persistência de dados para uma instância do Cache do Azure para Redis
A persistência do Redis permite-lhe manter os dados armazenados instância de cache. Se existir uma falha de hardware, a instância de cache é reidratada com dados do ficheiro de persistência quando voltar a ficar online. A capacidade de persistir os dados é uma forma importante de aumentar a durabilidade de uma instância de cache uma vez que todos os dados da cache são armazenados na memória. A perda de dados será possível se ocorrer quando os nós da cache ficam 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 as caches principal e de réplica, a cache é reconstruída automaticamente utilizando as operações de escrita armazenadas. Saiba mais sobre as vantagens e desvantagens da persistência do 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, utilize a funcionalidade 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
As funcionalidades de persistência destinam-se a ser utilizadas para restaurar dados na mesma cache após a perda de dados.
- Os ficheiros de dados persistentes RDB/AOF não podem ser importados para uma nova cache nem para a cache existente. Em vez disso, utilize a funcionalidade 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 gerir a encriptação 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.
FAQ sobre a Persistência
A lista a seguir contém respostas para perguntas frequentes sobre a persistência do Cache Redis do Azure.
- Posso ativar a persistência numa cache criada anteriormente?
- Posso ativar a persistência do AOF e RDB ao mesmo tempo?
- Como é que a persistência funciona com a georreplicação?
- Que modelo de persistência devo escolher?
- O que acontece se tiver dimensionado para um tamanho diferente e for restaurada uma cópia de segurança realizada 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 da cópia de segurança do RDB depois de criar a cache?
- Porque é que existe um intervalo de mais de 60 minutos entre as cópias de segurança quando tenho uma frequência de cópia de segurança do RDB de 60 minutos?
- O que acontece às cópias de segurança antigas do RDB quando é realizada uma nova cópia de segurança?
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 da minha cache?
- Como posso remover a segunda conta de armazenamento?
- O que é uma reescrita e como afecta a minha cache?
- O que devo esperar ao dimensionar uma cache com o AOF ativado?
- Como meus dados AOF são organizados no armazenamento?
- Posso habilitar a persistência do AOF se tiver mais de uma réplica?
Posso ativar a persistência numa cache criada anteriormente?
Sim, a persistência pode ser configurada tanto na criação de cache quanto em caches Premium, Enterprise ou Enterprise Flash existentes.
Posso ativar a persistência do AOF e RDB ao mesmo tempo?
Não, pode ativar o RDB ou o AOF, mas não os dois ao mesmo tempo.
Como é que a persistência funciona com a georreplicação?
Se ativar a persistência de dados, a georreplicação não pode ser ativada para a a sua 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 do AOF se o seu objetivo principal for minimizar a perda de dados e se conseguir suportar uma transferência inferior para a cache. Escolha a persistência do RDB se pretender manter uma transferência ideal na cache, mas ainda assim pretender um mecanismo de 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 do AOF.
Para obter mais informações sobre o desempenho ao utilizar a persistência do AOF, consulte A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho da minha cache?
A persistência do AOF afeta a taxa de transferência, a latência ou o desempenho da minha 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 em memória porque cada escrita e eliminação é persistida com apenas alguns segundos de atraso. A contrapartida é o facto de o AOF ser mais intensivo em termos de 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 tiver dimensionado para um tamanho diferente e for restaurada uma cópia de segurança realizada antes da operação de dimensionamento?
Para a persistência do RDB e AOF:
- Se tiver dimensionado para um tamanho maior, não há qualquer 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 tiver dimensionado para um tamanho mais pequeno e não houver espaço suficiente no tamanho mais pequeno para guardar todos os dados da última cópia de segurança, as chaves são expulsas durante o processo de restauro. Normalmente, as chaves são expulsas utilizando a política de expulsã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 da cópia de segurança do RDB depois de criar a cache?
Sim, pode alterar a frequência de cópia de segurança para a persistência do RDB utilizando o portal do Azure, a CLI ou o PowerShell.
Porque é que existe um intervalo de mais de 60 minutos entre as cópias de segurança quando tenho uma frequência de cópia de segurança do RDB de 60 minutos?
O intervalo de frequência de cópia de segurança da persistência do RDB não é iniciado até que o processo de cópia de segurança anterior tenha sido concluído com êxito. Se a frequência de cópia de segurança for de 60 minutos e um processo de cópia de segurança demorar 15 minutos a ser concluído, a próxima cópia de segurança não será iniciada até 75 minutos após a hora de início da cópia de segurança anterior.
O que acontece às cópias de segurança antigas do RDB quando é realizada uma nova cópia de segurança?
Todas as cópias de segurança da persistência do RDB, exceto a mais recente, são eliminadas automaticamente. Esta eliminação pode não ocorrer imediatamente, mas as cópias de segurança mais antigas não são mantidas 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 afecta a minha cache?
Quando o ficheiro do AOF se torna suficientemente grande, uma reescrita é colocada automaticamente em fila na cache. A reescrita redimensiona o ficheiro do AOF com o conjunto mínimo de operações necessárias para criar o conjunto de dados atual. Durante as reescritas, é expetável que os limites de desempenho sejam atingidos mais cedo, especialmente quando se lida com grandes conjuntos de dados. As reescritas ocorrem com menos frequência à medida que o ficheiro do AOF se torna maior, mas demoram uma quantidade significativa de tempo quando tal acontece.
O que devo esperar ao dimensionar uma cache com o AOF ativado?
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 tiver dimensionado para um tamanho diferente e for restaurada uma cópia de segurança realizada 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?
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. Essa métrica indicará se o cache não consegue persistir os 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 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.