728x90
AOF(Append Only File)을 사용한 백업
- 모든 쓰기 요청에 대한 로그를 저장
- 재시작 시 AOF에 기록된 모든 동작을 재수행해서 데이터를 복구
장점
- 모든 변경사항이 기록되므로 RDB방식 대비 안정적으로 데이터 백업 가능
- AOF 파일은 append-only(명령어가 저장된) 방식이므로 백업 파일이 손상될 위험이 적음
- 실제 수행된 명령어가 저장되어 있으므로 사람이 보고 이해할 수 있고 수정도 가능
- 마지막에 flushAll을 사용하여 데이터가 손실되었다면 flushAll을 제거후 실행해야 한다.
단점
- RDB 방식보다 파일 사이즈가 커짐
- RDB 방식 대비 백업&복구 속도가 느림(백업 성능은 fsync정책에 따라 조절가)
AOF 설정
# AOF 사용(Default NO)
appendonly yes
# AOF 파일 이름
appendfilename appendonly.aof
# fsync 정책 설정(always, everysec, no)
appendsync everysec
fsync 정책(appendfsync 설정 값)
- fsync() 호출은 OS에게 데이터를 디스크에 쓰도록 함
- 가능한 옵션과 설명
- always : 새로운 커맨드가 추가될 때마다 수행. 가장 안전하지만 느림
- everysec : 1초마다 수행. 성능은 RDB수준에 근접
- no : OS에 맡김. 가장 빠르지만 덜 안전한 방법(커널마다 수행시간이 다를 수 있음)
AOF 관련 개념
- Log rewriting : 최종 상태를 만들기 위한 최소한의 로그만 남기기 위해 일부를 새로 씀
- ex) 1개의 Key값을 100번 수정해도 최종 상태는 1개 이므로 SET 1개로 대체가능
- Multi Part AOF
- Redis 7.0부터 AOF가 단일 파일에 저장되지 않고 여러개가 사용됨
- base file : 마지막 rewrite시의 스냅샷을 저장
- incremental file : 마지막으로 base file이 생성된 이후의 변경사항이 쌓임
- manifest file : 파일들을 관리하기 위한 메타 데이터를 저장
728x90
'DB' 카테고리의 다른 글
[Redis] Redis Sentinel (0) | 2024.03.10 |
---|---|
[Redis] 레디스의 복제 (0) | 2024.03.10 |
[Redis] 백업과 장애 복구 (RDB 방식) (0) | 2024.03.07 |
[Redis] Pub/Sub을 이용한 채팅방 구현 (0) | 2024.03.01 |
[Redis]리더 보드란? (0) | 2024.03.01 |