1. Verschillen tussen traditionele AOF en AOF-RDB Hybrid methode

AOF (Append-Only File) is een van de persistente methoden van Redis, waarmee wijzigingen aan data in een bestand worden vastgelegd, zodat gegevens bij een storing kunnen worden hersteld.
👉 Voor een gedetailleerde uitleg van het AOF-concept, bekijk mijn eerdere post
Redis AOF Rewrite: Prestatie-optimalisatie en gegevensbehoud is een aanrader.

In dit artikel worden de verschillen tussen de traditionele AOF methode en de AOF-RDB Hybrid methode die werd geïntroduceerd in Redis 7.0 en hoger grondig geanalyseerd.


2. Redis 7.0 en hoger: introductie van de AOF-RDB Hybrid methode

Om de problemen van inefficiënt schijfgebruik en trage herstel snelheid van de traditionele AOF methode op te lossen, is vanaf Redis 7.0 de AOF-RDB Hybrid methode standaard toegepast.
Deze methode combineert RDB snapshots met AOF om data op een optimaalere manier op te slaan.

✅ Werking van de AOF-RDB Hybrid methode

  1. Opslaan van de initiële status → Wanneer Redis AOF opslaat, creëert het eerst een RDB snapshot en slaat die op in het appendonly.aof.X.base.rdb bestand.
  2. Opslaan van latere wijzigingen → Alle latere wijzigingen worden vastgelegd in het appendonly.aof.X.incr.aof bestand.
  3. Bij gegevensherstel → Wanneer Redis opnieuw wordt opgestart, wordt eerst de RDB geladen en vervolgens wordt de AOF delta toegepast om de meest recente status te herstellen.

3. Bestandsstructuur van de AOF-RDB Hybrid methode

📌 In tegenstelling tot de traditionele appendonly.aof enkele bestandsmethode, worden in Redis 7.0 de volgende bestanden gecreëerd.

sudo ls -l /var/lib/redis/appendonlydir
-rw-rw---- 1 redis redis  1146587 Feb 19 12:37 appendonly.aof.2.base.rdb   # RDB snapshot bestand
-rw-r----- 1 redis redis 41279742 Feb 19 20:05 appendonly.aof.2.incr.aof   # AOF delta bestand (opslag van latere wijzigingen)
-rw-r----- 1 redis redis       88 Feb 19 12:37 appendonly.aof.manifest    # AOF gerelateerde metadata beheer bestand
  • appendonly.aof.X.base.rdb → het huidige geheugenstatus van Redis opgeslagen in een RDB snapshot bestand
  • appendonly.aof.X.incr.aof → bevat de latere wijzigingen opgeslagen in het AOF bestand
  • appendonly.aof.manifest → een metadata bestand dat de AOF bestanden beheert

Redis AOF vs Hybrid Vergelijking

🚀 Conclusie: In Redis 7.0 en hoger wordt de AOF-RDB Hybrid methode standaard ingesteld, wat betekent dat het enkelvoudige appendonly.aof bestand niet wordt aangemaakt.


4. Vergelijking tussen traditionele AOF en AOF-RDB Hybrid methode

Vergelijkingsonderdeel Traditionele AOF (appendonly.aof) AOF-RDB Hybrid (appendonly.aof.X.base.rdb)
Bestandsstructuur één appendonly.aof bestand RDB + AOF Hybrid structuur
Opslagmethode slaat alle commando's sequentieel op RDB snapshot + opslag van AOF delta
Prestatie wordt langzamer na verloop van tijd sneller en geoptimaliseerd
Herstelsnelheid bij herstart van Redis traag (uitvoeren van alle commando's) snel (RDB laden en daarna AOF toepassen)
Opslagruimte grootte blijft toenemen geoptimaliseerd op basis van RDB
Schijf I/O belasting verhoogt door opslaan van alle commando's gebaseerd op RDB, dus belasting vermindert

📌 Conclusie:
- De traditionele AOF methode heeft een hoge gegevensbetrouwbaarheid, maar problemen met prestaties en schijfgebruik.
- De AOF-RDB Hybrid methode biedt snelle herstel, efficiënte opslagruimte, en lage schijf I/O belasting.
- In de meeste operationele omgevingen wordt de AOF-RDB Hybrid methode aangeraden. 🚀


5. Is RDB-instelling nodig bij gebruik van de AOF-RDB Hybrid methode?

👉 Ja, RDB-gerelateerde instellingen zijn nodig!
AOF-RDB Hybrid methode vereist dat RDB de basis vormt, dus redis.conf moet juiste RDB-instellingen hebben.

✅ Instellingen om te controleren in de AOF-RDB Hybrid methode

appendonly yes         # AOF inschakelen
aof-use-rdb-preamble yes  # Gebruik AOF-RDB Hybrid methode (standaard)
save 900 1 300 10 60 10000  # RDB snapshot generatie frequentie

🚨 Als er geen RDB-instellingen zijn, kan de AOF-RDB Hybrid methode mogelijk niet goed functioneren!
Als je de instelling van aof-use-rdb-preamble op no zet, zal de traditionele aof enkele bestandsmethode worden toegepast.


6. Conclusie: Hoe de Redis AOF methode kiezen in de praktijk

  • In Redis 7.0 en hoger wordt standaard de AOF-RDB Hybrid methode aanbevolen
  • De methode biedt snellere herstelsnelheid, minder opslagruimte, en lagere schijf I/O belasting vergeleken met de traditionele AOF methode
  • Als de RDB-instellingen niet zijn toegepast, kan de Hybrid methode mogelijk niet goed functioneren
  • In kritieke toepassingen zoals financiële of transactiesystemen kan de traditionele AOF methode voordeliger zijn vanwege de hoge gegevensbetrouwbaarheid

🚀 In de meeste operationele omgevingen is de AOF-RDB Hybrid methode aanzienlijk efficiënter dan de traditionele AOF methode, dus het is aan te raden deze te blijven gebruiken.