1. Différences entre AOF classique et méthode hybride AOF-RDB

AOF (Append-Only File) est l'une des méthodes de persistance de Redis, qui enregistre les modifications de données dans un fichier pour permettre la récupération des données en cas de défaillance.
👉 Si vous avez besoin d'une explication détaillée du concept AOF, il est conseillé de consulter le précédent post
Redis AOF Rewrite: Optimisation des performances et conservation des données au préalable.

Dans cet article, nous analyserons en profondeur les différences entre la méthode AOF classique et la méthode hybride AOF-RDB introduite dans Redis 7.0 et versions ultérieures.


2. Redis 7.0 et supérieur : Introduction de la méthode hybride AOF-RDB

Pour résoudre les problèmes de utilisation inefficace du disque et de lenteur de récupération liés à la méthode AOF classique, Redis 7.0 et versions ultérieures appliquent la méthode hybride AOF-RDB par défaut.
Cette méthode combine des snapshots RDB et AOF pour stocker les données de manière plus optimisée.

✅ Principe de fonctionnement de la méthode hybride AOF-RDB

  1. Enregistrement de l'état initial → Lorsque Redis enregistre AOF, il crée d'abord un snapshot RDB qu'il enregistre dans le fichier appendonly.aof.X.base.rdb.
  2. Enregistrement des modifications ultérieures → Toutes les modifications ultérieures sont enregistrées dans le fichier appendonly.aof.X.incr.aof.
  3. Lors de la récupération des données → Lorsque Redis redémarre, il charge d'abord le RDB, puis applique les deltas AOF pour restaurer l'état le plus récent.

3. Structure des fichiers de la méthode hybride AOF-RDB

📌 Contrairement à l'unique fichier appendonly.aof, Redis 7.0 génère les fichiers suivants :

sudo ls -l /var/lib/redis/appendonlydir
-rw-rw---- 1 redis redis  1146587 Feb 19 12:37 appendonly.aof.2.base.rdb   # Fichier de snapshot RDB
-rw-r----- 1 redis redis 41279742 Feb 19 20:05 appendonly.aof.2.incr.aof   # Fichier delta AOF (modifications ultérieures)
-rw-r----- 1 redis redis       88 Feb 19 12:37 appendonly.aof.manifest    # Fichier de gestion des métadonnées AOF
  • appendonly.aof.X.base.rdbFichier de snapshot RDB stockant l'état actuel de la mémoire Redis
  • appendonly.aof.X.incr.aofFichier AOF enregistrant les modifications ultérieures
  • appendonly.aof.manifestFichier de métadonnées gérant la liste des fichiers AOF

Comparaison Redis AOF vs Hybrid

🚀 Conclusion : À partir de Redis 7.0, la méthode hybride AOF-RDB est le paramètre par défaut, donc l'unique fichier appendonly.aof n'est plus créé.


4. Comparaison entre AOF classique et méthode hybride AOF-RDB

Éléments de comparaison AOF classique (appendonly.aof) AOF-RDB hybride (appendonly.aof.X.base.rdb)
Structure de fichier Un seul fichier appendonly.aof Structure hybride RDB + AOF
Méthode d'enregistrement Enregistrement séquentiel de toutes les commandes Enregistrement des snapshots RDB + deltas AOF
Performance De plus en plus lente avec le temps Plus rapide et optimisée
Vitesse de récupération lors du redémarrage de Redis Lente (exécution de toutes les commandes) Rapide (chargement du RDB puis application de l'AOF)
Espace de stockage Taille en augmentation continue Optimisé sur la base du RDB
Charge d'I/O disque Augmentation de la charge avec tous les enregistrements de commandes Charge réduite grâce à la base RDB

📌 Conclusion:
- La méthode AOF classique offre une fiabilité des données élevée mais présente des problèmes de performance et d'utilisation du disque.
- La méthode hybride AOF-RDB a l'avantage d'un rétablissement rapide, d'une utilisation efficace de l'espace de stockage et d'une charge d'I/O faible.
- Dans la plupart des environnements d'exploitation, la méthode hybride AOF-RDB est recommandée. 🚀


5. Est-ce que la méthode hybride AOF-RDB nécessite une configuration RDB ?

👉 Oui, une configuration RDB est nécessaire !
Dans la méthode hybride AOF-RDB, le RDB étant la base, redis.conf doit avoir les réglages RDB appliqués correctement.

✅ Réglages à vérifier pour la méthode hybride AOF-RDB

appendonly yes         # Activer AOF
aof-use-rdb-preamble yes  # Utiliser méthode hybride AOF-RDB (valeur par défaut)
save 900 1 300 10 60 10000  # Périodicité de création de snapshot RDB

🚨 Sans réglages RDB, la méthode hybride AOF-RDB risque de ne pas fonctionner correctement !
Si vous réglez aof-use-rdb-preamble sur no, la méthode à fichier unique aof classique sera appliquée.


6. Conclusion : Comment choisir la méthode AOF de Redis en pratique

  • Dans Redis 7.0 et supérieur, la méthode hybride AOF-RDB est recommandée par défaut
  • Elle présente des avantages tels qu'une récupération rapide, une faible utilisation de l'espace de stockage et une charge d'I/O faible par rapport à la méthode AOF classique
  • Sans réglages RDB, la méthode hybride peut ne pas fonctionner correctement
  • Dans des environnements critiques tels que la finance ou les systèmes de transactions nécessitant une fiabilité maximale des données, la méthode AOF classique peut être plus avantageuse

🚀 Dans la plupart des environnements d'exploitation, la méthode hybride AOF-RDB est beaucoup plus efficace que la méthode AOF classique, et il est donc recommandé de l'utiliser.