Configurar la persistencia de datos para una instancia de Azure Cache for Redis
La persistencia de Redis te permite persistir los datos almacenados en la instancia de caché. Si hay una falla de hardware, la instancia de caché se rehidrata con datos del archivo de persistencia cuando vuelve a estar en línea. La capacidad de conservar datos es una forma importante de aumentar la durabilidad de una instancia de caché porque todos los datos de caché se almacenan en la memoria. La pérdida de datos es posible si ocurre una falla cuando los nodos de caché están inactivos. La persistencia debe ser una parte clave de tu estrategia de alta disponibilidad y recuperación ante desastres con Azure Cache for Redis.
Advertencia
Si estás utilizando la persistencia en el nivel Premium, verifica si la cuenta de almacenamiento tiene habilitada la eliminación temporal antes de usar la función de persistencia de datos. El uso de la persistencia de datos con eliminación temporal provoca costos de almacenamiento muy altos. Para más información, consulte ¿Debo habilitar la eliminación temporal?.
Advertencia
La opción de escribir siempre para la persistencia de AOF en los niveles Enterprise y Enterprise Flash se establece para retirarse el 1° de abril de 2025. Esta opción tiene limitaciones de rendimiento significativas y ya no se recomienda. En su lugar, se recomienda usar la opción de escritura cada segundo o usar la persistencia de RDB.
Ámbito de disponibilidad
Nivel | Básico y Estándar | Premium | Enterprise o Enterprise Flash |
---|---|---|---|
Disponible | No | Sí | Sí (versión preliminar) |
Tipos de persistencia de datos en Redis
Tienes dos opciones para la persistencia con Azure Cache for Redis: el formato de base de datos de Redis (RDB) y el formato de Anexar solo archivo (AOF):
- Persistencia de RDB: cuando se utiliza la persistencia de RDB, Azure Cache for Redis conserva una instantánea de su caché en formato binario. La instantánea se guarda en una cuenta de Azure Storage. La frecuencia de copia de seguridad configurable determina la frecuencia con la que se conserva la instantánea. Si se produce un evento catastrófico que deshabilita tanto la caché de réplica como la principal, se reconstruye automáticamente la memoria caché con la instantánea más reciente. Más información sobre las ventajas y desventajas de la persistencia de RDB.
- Persistencia de AOF: cuando se usa la persistencia de AOF, Azure Cache for Redis guarda todas las operaciones de escritura en un registro. El registro se guarda al menos una vez por segundo en una cuenta de Azure Storage. Si ocurre un evento catastrófico que deshabilita las cachés principal y de réplica, la caché se reconstruye automáticamente mediante las operaciones de escritura almacenadas. Más información sobre las ventajas y desventajas de la persistencia de AOF.
Las características de persistencia de Azure Cache for Redis están diseñadas para restaurar datos automáticamente en la misma memoria caché después de la pérdida de datos. Los archivos de datos persistentes RDB/AOF no se pueden importar a una memoria caché existente o nueva. Para mover datos entre cachés, usa la función Importar y exportar. Para obtener más información, consulte Importación y exportación de datos en Azure Cache for Redis.
Para generar copias de seguridad de los datos que se pueden agregar a una nueva memoria caché, puedes escribir scripts automatizados mediante PowerShell o CLI que exportan datos periódicamente.
Requisitos previos y limitaciones
Las características de persistencia están diseñadas para usarse para restaurar datos en la misma memoria caché después de la pérdida de datos.
- Los archivos de datos persistentes RDB/AOF no se pueden importar a una memoria caché existente o nueva. En su lugar, usa la característica Import/Export.
- La persistencia no es compatible con cachés que usan replicación geográfica pasiva o replicación geográfica activa.
- En el nivel Premium, la persistencia de AOF no es compatible con varias réplicas.
- En el nivel Premium, los datos deben conservarse en una cuenta de almacenamiento de la misma región que la instancia de caché.
- En el nivel Premium, se pueden usar las cuentas de almacenamiento de distintas suscripciones para conservar los datos si se usa la identidad administrada para conectarse a la cuenta de almacenamiento.
Diferencias entre la persistencia en los niveles Premium y Enterprise
En el nivel Premium, los datos se conservan directamente en una cuenta de Azure Storage que posees y administras. Azure Storage cifra automáticamente los datos cuando se conservan, pero también puedes usar tus propias claves para el cifrado. Para más información, consulte Claves administradas por el cliente para el cifrado de Azure Storage.
Advertencia
Si estás utilizando la persistencia en el nivel Premium, verifica si la cuenta de almacenamiento tiene habilitada la eliminación temporal antes de usar la función de persistencia de datos. El uso de la persistencia de datos con eliminación temporal provoca costos de almacenamiento muy altos. Para más información, consulte ¿Debo habilitar la eliminación temporal?.
En los niveles Enterprise y Enterprise Flash, los datos se conservan en un disco administrado conectado directamente a la instancia de caché. La ubicación no es configurable ni accesible para el usuario. El uso de un disco administrado aumenta el rendimiento de la persistencia. El disco se cifra mediante claves administradas por Microsoft (MMK) de forma predeterminada, pero también se pueden usar claves administradas por el cliente (CMK). Para obtener más información, consulta administrar el cifrado de datos.
Configurar la persistencia de datos mediante el Azure Portal
Cómo configurar la persistencia de datos mediante PowerShell y la CLI de Azure
Administración del cifrado de datos
Dado que la persistencia de Redis crea datos en reposo, el cifrado de estos datos es una preocupación importante para muchos usuarios. Las opciones de cifrado varían en función del nivel de Azure Cache for Redis que se use.
Con el nivel Premium, los datos se transmiten directamente desde la instancia de caché a Azure Storage cuando se inicia la persistencia. Se pueden usar varios métodos de cifrado con Azure Storage, incluidas las claves administradas por Microsoft, las claves administradas por el cliente y las claves proporcionadas por el cliente. Para obtener información sobre los métodos de cifrado, consulta Cifrado de Azure Storage para datos en reposo.
Con los niveles Enterprise y Enterprise Flash, los datos se almacenan en un disco administrado montado en la instancia de caché. De forma predeterminada, el disco que contiene los datos de persistencia y el disco del sistema operativo se cifran con claves administradas por Microsoft. También se puede usar una clave administrada por el cliente (CMK) para controlar el cifrado de datos. Consulta Cifrado en cachés de nivel Enterprise para obtener instrucciones.
P+F de persistencia
La lista siguiente contiene respuestas a las preguntas frecuentes sobre la persistencia de Azure Cache for Redis.
- ¿Puedo habilitar la persistencia en una memoria caché creada anteriormente?
- ¿Puedo habilitar la persistencia de AOF y RDB al mismo tiempo?
- ¿Cómo funciona la persistencia con la replicación geográfica?
- ¿Qué modelo de persistencia debería elegir?
- ¿Qué sucede si he escalado a otro tamaño y se restaura una copia de seguridad realizada antes de la operación de escalado?
- ¿Puedo usar la misma cuenta de almacenamiento para la persistencia de dos memorias caché diferentes?
- ¿Se me cobrará por el almacenamiento que se usa en la persistencia de datos?
- ¿Con qué frecuencia escribe la persistencia de RDB y AOF en mis blobs y debo habilitar la eliminación temporal?
- ¿Tener excepciones de firewall en la cuenta de almacenamiento afectará a la persistencia?
- ¿Cómo comprobar si la eliminación temporal está habilitada en mi cuenta de almacenamiento?
Persistencia de RDB
- ¿Puedo cambiar la frecuencia de copia de seguridad de RDB después de crear la memoria caché?
- ¿Por qué hay más de 60 minutos entre copias de seguridad cuando tengo una frecuencia de copia de seguridad de RDB de 60 minutos?
- ¿Qué ocurre con las copias de seguridad de RDB antiguas cuando se realiza una nueva copia de seguridad?
Persistencia de AOF
- ¿Cuándo debo usar una segunda cuenta de almacenamiento?
- ¿Afecta la persistencia de AOF a la productividad, la latencia o el rendimiento de la memoria caché?
- ¿Cómo puedo quitar la segunda cuenta de almacenamiento?
- ¿Qué es una reescritura y cómo afecta a la memoria caché?
- ¿Qué debo esperar al escalar una memoria caché con AOF habilitado?
- ¿Cómo se organizan los datos de AOF en el almacenamiento?
- ¿Puedo tener habilitada la persistencia de AOF si tengo más de una réplica?
¿Puedo habilitar la persistencia en una memoria caché creada anteriormente?
Sí, la persistencia se puede configurar tanto en la creación del caché como en los cachés Premium, Enterprise o Enterprise Flash existentes.
¿Puedo habilitar la persistencia de AOF y RDB al mismo tiempo?
No, puede habilitar RDB o AOF, pero no ambos a la vez.
¿Cómo funciona la persistencia con la replicación geográfica?
Si habilitas la persistencia de datos, la replicación geográfica no se puede habilitar para su caché.
¿Qué modelo de persistencia debería elegir?
La persistencia de AOF guarda cada escritura en un registro, lo que tiene un efecto significativo en el rendimiento. Se ha comparado AOF con la persistencia de RDB, que guarda las copias de seguridad en función del intervalo de copia de seguridad configurado con un efecto mínimo en el rendimiento. Elija la persistencia de AOF si el objetivo principal es minimizar la pérdida de datos y si puede controlar un menor rendimiento de la memoria caché. Elija la persistencia de RDB si quiere mantener un rendimiento óptimo en la memoria caché pero todavía quiere un mecanismo para la recuperación de datos.
- Más información sobre las ventajas y desventajas de la persistencia de RDB.
- Más información sobre las ventajas y desventajas de la persistencia de AOF.
Para más información sobre el rendimiento al usar la persistencia de AOF, consulta ¿Afecta la persistencia de AOF a la productividad, la latencia o el rendimiento de la memoria caché?
¿Afecta la persistencia de AOF a la productividad, la latencia o el rendimiento de la memoria caché?
La persistencia de AOF afecta al rendimiento. AOF se ejecuta tanto en el proceso principal como en el de réplica, por lo que verá una mayor CPU y carga del servidor para una caché con persistencia de AOF que una caché idéntica sin persistencia de AOF. AOF ofrece la mejor coherencia con los datos en memoria porque cada escritura y eliminación se conserva con solo unos segundos de retraso. La contrapartida es que AOF requiere más proceso.
Siempre que la CPU y la carga del servidor sean inferiores al 90 %, se penaliza el rendimiento, pero, de lo contrario, la memoria caché funciona con normalidad. Por encima del 90 % de la CPU y la carga del servidor, la penalización del rendimiento puede ser mucho mayor y la latencia de todos los comandos procesados por la memoria caché aumenta. La latencia aumenta porque la persistencia de AOF se ejecuta tanto en el proceso principal como en el de réplica, lo que aumenta la carga en el nodo en uso y pone la persistencia en la ruta crítica de los datos.
¿Qué sucede si he escalado a otro tamaño y se restaura una copia de seguridad realizada antes de la operación de escalado?
Para la persistencia de RDB y AOF:
- Si ha escalado a un tamaño mayor, no hay ningún efecto.
- Si ha escalado a un tamaño menor y tiene una configuración de bases de datos personalizada que es mayor que el límite de bases de datos del nuevo tamaño, los datos de esas bases de datos no se restauran. Para más información, consulte ¿Mi configuración de bases de datos personalizada se ve afectada durante el escalado?
- Si ha escalado a un tamaño menor y no hay suficiente espacio en el tamaño más pequeño para contener todos los datos desde la última copia de seguridad, las claves se expulsarán durante el proceso de restauración. Normalmente, las claves se expulsan mediante la directiva de expulsión allkeys-lru.
¿Puedo usar la misma cuenta de almacenamiento para la persistencia de dos memorias caché diferentes?
No, debe usar cuentas de almacenamiento diferentes para distintas cachés. Cada caché debe tener su propia cuenta de almacenamiento para configurar la persistencia.
Importante
Use cuentas de almacenamiento independientes para la persistencia y realice operaciones de exportación periódicas en una memoria caché.
¿Se me cobrará por el almacenamiento que se utiliza en la persistencia de datos?
- Para las cachés Premium, se cobra por el almacenamiento que se utiliza según el modelo de precios de la cuenta de almacenamiento que se utiliza.
- Para las cachés Enterprise y Enterprise Flash, no se cobra por el almacenamiento en disco administrado. Está incluido en el precio.
¿Con qué frecuencia escribe la persistencia de RDB y AOF en mis blobs y debo habilitar la eliminación temporal?
Se recomienda evitar habilitar la eliminación temporal en las cuentas de almacenamiento cuando se usa con la persistencia de datos de Azure Cache for Redis con el nivel Premium. La persistencia de RDB y AOF puede escribir en los blobs con una frecuencia de cada hora, cada pocos minutos o cada segundo. Además, la habilitación de la eliminación temporal en una cuenta de almacenamiento implica que Azure Cache for Redis no puede minimizar los costos de almacenamiento mediante la eliminación de los datos de copia de seguridad antiguos.
La eliminación temporal se vuelve cara rápidamente con los tamaños de datos típicos de un caché que también realiza operaciones de escritura cada segundo. Para obtener más información sobre los costos de la eliminación temporal, consulte la sección Precios y facturación.
¿Puedo cambiar la frecuencia de copia de seguridad de RDB después de crear la memoria caché?
Sí, puedes cambiar la frecuencia de la copia de seguridad para la persistencia de RDB mediante Azure Portal, la CLI o PowerShell.
¿Por qué hay más de 60 minutos entre copias de seguridad cuando tengo una frecuencia de copia de seguridad de RDB de 60 minutos?
El intervalo de frecuencia de copia de seguridad de la persistencia de RDB no se inicia hasta que el proceso de copia de seguridad anterior se ha completado correctamente. Si la frecuencia de copia de seguridad es de 60 minutos y realiza un proceso de copia de seguridad en 15 minutos para completarse, la siguiente copia de seguridad no se iniciará hasta pasados 75 minutos de la hora de inicio de la copia de seguridad anterior.
¿Qué ocurre con las copias de seguridad de RDB antiguas cuando se realiza una nueva copia de seguridad?
Todas las copias de seguridad de persistencia de RDB excepto la más reciente se eliminan automáticamente. Es posible que esta eliminación no se produzca inmediatamente, pero las copias de seguridad anteriores no se guardan de manera indefinida. Si usas el nivel Premium para la persistencia y la eliminación temporal está activada para su cuenta de almacenamiento, se aplica la configuración de eliminación temporal y las copias de seguridad existentes continúan residiendo en el estado de eliminación temporal.
¿Cuándo debo usar una segunda cuenta de almacenamiento?
Usa una segunda cuenta de almacenamiento para la persistencia de AOF cuando creas que has establecido operaciones en la memoria caché superiores a las esperadas. La configuración de la cuenta de almacenamiento secundaria ayuda a garantizar que la memoria caché no alcance los límites de ancho de banda de almacenamiento. Esta opción solo está disponible para cachés de nivel Premium.
¿Cómo puedo quitar la segunda cuenta de almacenamiento?
Puede quitar la cuenta de almacenamiento secundaria de persistencia de AOF si establece la segunda cuenta de almacenamiento de modo que sea la misma que la primera cuenta de almacenamiento. Para cachés existentes, accede a Persistencia de datos desde el menú Recursos para la caché. Para deshabilitar la persistencia de AOF, seleccione Deshabilitada.
¿Qué es una reescritura y cómo afecta a la memoria caché?
Cuando el archivo AOF es lo suficientemente grande, en la memoria caché se pone en cola automáticamente una reescritura. La reescritura cambia el tamaño del archivo AOF con el conjunto mínimo de operaciones necesario para crear el conjunto de datos actual. Durante las operaciones de reescritura, puede esperar que se alcancen los límites de rendimiento antes, especialmente cuando se trabaja con grandes conjuntos de datos. Las reescrituras ocurren con menos frecuencia a medida que el archivo AOF se hace más grande, pero toma una cantidad significativa de tiempo cuando sucede.
¿Qué debo esperar al escalar una memoria caché con AOF habilitado?
Si el archivo AOF en el momento del escalado es grande, espera que la operación de escalado tarde más de lo esperado porque vuelve a cargar el archivo una vez que finaliza el escalado.
Para más información sobre el escalado, vea ¿Qué sucede si he escalado a otro tamaño y se restaura una copia de seguridad realizada antes de la operación de escalado?
¿Cómo se organizan los datos de AOF en el almacenamiento?
Al usar el nivel Premium, los datos almacenados en archivos AOF se dividen en varios blob en páginas por partición. De forma predeterminada, la mitad de los blobs se guardan en la cuenta de almacenamiento principal y la mitad se guardan en la cuenta de almacenamiento secundaria. La división de los datos entre varios blobs en páginas y dos cuentas de almacenamiento diferentes aumenta el rendimiento.
Si la tasa máxima de escrituras en la memoria caché no es muy alta, es posible que este rendimiento adicional no sea necesario. En ese caso, se puede quitar la configuración de la cuenta de almacenamiento secundaria. En su lugar, todos los archivos AOF se almacenan en la única cuenta de almacenamiento principal. En la siguiente tabla se muestra el número total de blobs en páginas que se usan en cada plan de tarifa:
Nivel Premium | Datos BLOB |
---|---|
P1 | 8 por partición |
P2 | 16 por partición |
P3 | 32 por partición |
P4 | 40 por partición |
Cuando la agrupación en clústeres está habilitada, cada partición de la memoria caché tiene su propio conjunto de blobs en páginas, como se ha indicado en la tabla anterior. Por ejemplo, una caché P2 con tres particiones distribuye su archivo AOF entre 48 blobs en páginas: dieciséis blobs por partición, con tres particiones.
Después de una reescritura, hay dos conjuntos de archivos AOF en el almacenamiento. Las reescrituras se producen en segundo plano y se asocian al primer conjunto de archivos. Las operaciones establecidas, enviadas a la caché durante la reescritura, se anexan al segundo conjunto. Una copia de seguridad se almacena temporalmente durante las reescrituras si se produce un error. La copia de seguridad se elimina rápidamente una vez que finaliza una reescritura. Si la eliminación temporal está activada para la cuenta de almacenamiento, se aplica la configuración de la eliminación temporal y las copias de seguridad existentes siguen residiendo en el estado de eliminación temporal.
¿Tener excepciones de firewall en la cuenta de almacenamiento afectará la persistencia?
El uso de la identidad administrada agrega la instancia de caché a la lista de servicios de confianza, lo que facilita la realización de excepciones de firewall. Si no usa la identidad administrada y, en su lugar, autoriza a una cuenta de almacenamiento mediante una clave, tener excepciones de firewall en la cuenta de almacenamiento tiende a interrumpir el proceso de persistencia. Esto solo se aplica a la persistencia en el nivel Premium.
¿Puedo tener habilitada la persistencia de AOF si tengo más de una réplica?
Con el nivel Premium, no puede usar la persistencia de archivos de solo agregar (AOF) con varias réplicas. En los niveles Enterprise y Enterprise Flash, la arquitectura de réplica es más complicada, pero se admite la persistencia de AOF cuando se utilizan cachés Enterprise en la implementación con redundancia de zona.
¿Cómo comprobar si la eliminación temporal está habilitada en mi cuenta de almacenamiento?
Seleccione la cuenta de almacenamiento que usa la memoria caché para la persistencia. Seleccione Protección de datos en el menú Recurso. En el panel de trabajo, compruebe el estado de Habilitar la eliminación temporal para blobs. Para más información sobre la eliminación temporal en cuentas de Azure Storage, consulta Habilitar la eliminación temporal para blobs.
Pasos siguientes
Más información sobre las características de Azure Cache for Redis.