본문 바로가기
언어 & 라이브러리/레디스

[레디스] 메모리 관리 기법 RDB vs AOF 차이

by illlilillil 2022. 3. 17.

레디스 노드 로그를 분석하다가 RDB와 AOF라는 메모리 관리 방식에 대해 알게 되어 궁금증이 생겨 찾아보게 되었습니다.

데이터의 영속성을 위한 두 가지 방식입니다.

RDB(Redis DataBase)

  • 스냅샷과 비슷한 역할을 합니다.
  • 특정 시점의 메모리 데이터를 전부 바이너리 파일로 저장합니다.
  • AOF 파일보다 사이즈가 작아 로딩이 빠릅니다.
  • 저장 방법은 redis.conf의 save로 설정합니다. save 10 1: 10초간 1번 이상 변경 시 저장 여러 개도 지정해 하나라도 만족하면 수행합니다.
  • 메모리를 많이 사용합니다.
  • 대규모 데이터에 적합합니다.

AOF(Append Only File)

  • appendonly.aof에 저장됩니다.
  • INSERT,UPDATE,DELETE 명령 수행 시마다 기록됩니다.
  • append 방식으로 추가되며 기록됩니다. 특정 시점에 데이터 전체를 다시 쓸 수 있습니다.
  • 계속 추가하기 때문에 파일 사이즈가 무한정으로 커질 수 있습니다. 사이즈가 너무 커지면 rewrite 기능으로 최종 데이터만 기록합니다.
  • text 파일이므로 사용자가 직접 수정해 손실없이 복구할 수 있다.
  • redis.conf에서 appendonly로 설정 가능
  • DB 복구는 AOF가 우선순위에 앞서 있습니다.

댓글