1. 기존 AOF vs AOF-RDB Hybrid 방식의 차이점

AOF(Append-Only File)는 Redis의 지속성(persistence) 방식 중 하나로, 데이터 변경 사항을 파일에 기록하여 장애 발생 시 데이터를 복구할 수 있도록 해준다.
👉 AOF 개념에 대한 자세한 설명이 필요하다면, 이전 포스트
Redis AOF Rewrite: 성능 최적화와 데이터 보존 를 먼저 확인하는 것이 좋다.

이 글에서는 기존 AOF 방식과 Redis 7.0 이상에서 도입된 AOF-RDB Hybrid 방식의 차이점을 집중적으로 분석한다.


2. Redis 7.0 이상: AOF-RDB Hybrid 방식 도입

기존 AOF 방식의 비효율적인 디스크 사용과 느린 복구 속도 문제를 해결하기 위해 Redis 7.0 이상에서는 AOF-RDB Hybrid 방식이 기본 적용되었다.
이 방식은 RDB 스냅샷과 AOF를 결합하여 데이터를 보다 최적화된 방식으로 저장한다.

✅ AOF-RDB Hybrid 방식의 동작 원리

  1. 초기 상태 저장 → Redis는 AOF를 저장할 때, 먼저 RDB 스냅샷을 생성하여 appendonly.aof.X.base.rdb 파일에 저장한다.
  2. 이후 변경 사항 저장 → 이후의 모든 변경 사항은 appendonly.aof.X.incr.aof 파일에 기록된다.
  3. 데이터 복구 시 → Redis가 재시작될 때, RDB를 먼저 로드한 후, AOF delta를 반영하여 최신 상태로 복원한다.

3. AOF-RDB Hybrid 방식의 파일 구조

📌 기존 appendonly.aof 단일 파일 방식과 달리, Redis 7.0에서는 아래와 같은 파일들이 생성된다.

sudo ls -l /var/lib/redis/appendonlydir
-rw-rw---- 1 redis redis  1146587 Feb 19 12:37 appendonly.aof.2.base.rdb   # RDB 스냅샷 파일
-rw-r----- 1 redis redis 41279742 Feb 19 20:05 appendonly.aof.2.incr.aof   # AOF delta 파일 (이후 변경 사항 저장)
-rw-r----- 1 redis redis       88 Feb 19 12:37 appendonly.aof.manifest    # AOF 관련 메타데이터 관리 파일
  • appendonly.aof.X.base.rdb → 현재 Redis 메모리 상태를 저장한 RDB 스냅샷 파일
  • appendonly.aof.X.incr.aof → 이후의 변경 사항을 기록한 AOF 파일
  • appendonly.aof.manifest → AOF 파일 목록을 관리하는 메타데이터 파일

Redis AOF vs Hybrid Comparison

🚀 결론: Redis 7.0 이상에서는 AOF-RDB Hybrid 방식이 기본 설정이므로, appendonly.aof 단일 파일이 생성되지 않는다.


4. 기존 AOF vs AOF-RDB Hybrid 방식 비교

비교 항목 기존 AOF (appendonly.aof) AOF-RDB Hybrid (appendonly.aof.X.base.rdb)
파일 구조 하나의 appendonly.aof 파일 RDB + AOF Hybrid 구조
기록 방식 모든 명령을 순차적으로 저장 RDB 스냅샷 + AOF delta 저장
성능 시간이 지날수록 느려짐 더 빠르고 최적화됨
Redis 재시작 시 복구 속도 느림 (전체 명령 실행) 빠름 (RDB 먼저 로드 후 AOF 반영)
저장 공간 크기가 계속 증가 RDB 기반으로 최적화됨
디스크 I/O 부담 모든 명령 저장으로 부담 ↑ RDB 기반이라 부담 ↓

📌 결론:
- 기존 AOF 방식은 데이터 신뢰성이 높지만, 성능과 디스크 사용량 문제가 있다.
- AOF-RDB Hybrid 방식은 빠른 복구, 효율적인 저장 공간 사용, 낮은 디스크 I/O 부담이 장점이다.
- 대부분의 운영 환경에서는 AOF-RDB Hybrid 방식이 권장된다. 🚀


5. AOF-RDB Hybrid 방식을 사용할 때 RDB 설정이 필요한가?

👉 네, RDB 관련 설정이 필요하다!
AOF-RDB Hybrid 방식에서는 RDB가 기반이 되므로, redis.conf에서 RDB 관련 설정이 올바르게 적용되어야 한다.

✅ AOF-RDB Hybrid 방식에서 확인해야 할 설정

appendonly yes         # AOF 활성화
aof-use-rdb-preamble yes  # AOF-RDB Hybrid 방식 사용 (기본값)
save 900 1 300 10 60 10000  # RDB 스냅샷 생성 주기

🚨 RDB 설정이 없으면 AOF-RDB Hybrid 방식이 정상적으로 동작하지 않을 수 있음!
aof-use-rdb-preamble설정을 no 로 하게되면 기존의 aof 단일파일 방식이 적용된다.


6. 결론: 실무에서 Redis AOF 방식을 선택하는 방법

  • Redis 7.0 이상에서는 기본적으로 AOF-RDB Hybrid 방식이 권장됨
  • 기존 AOF 방식보다 빠른 복구 속도, 적은 저장 공간 사용, 낮은 디스크 I/O 부담이라는 장점이 있음
  • RDB 설정이 적용되지 않으면 Hybrid 방식이 정상적으로 동작하지 않을 수 있음
  • 금융, 트랜잭션 시스템 등 극한의 데이터 신뢰성이 필요한 경우 기존 AOF 방식이 유리할 수 있음

🚀 대부분의 운영 환경에서는 AOF-RDB Hybrid 방식이 기존 AOF 방식보다 훨씬 더 효율적이므로 그대로 사용하는 것이 바람직하다.