Redis Cloud 데이터 영속성 설정하기

Redis Cloud 데이터 영속성 설정하기

메모리 손실이나 치명적인 장애가 생겨도 데이터를 복구할 수 있게 해 주는 기능이 데이터 영속성이에요. 이 글에서는 Redis Cloud에서 쓸 수 있는 영속성 옵션들이 언제 제공되는지, 그리고 데이터베이스별로 설정을 어떻게 적용하는지 알아볼 거예요. 영속성을 켜 두면 인메모리 데이터가 클라우드 인스턴스에 붙은 영구 저장소에 복사되거든요.

출처: Redis 공식 문서 - Data persistence

영속성 옵션 살펴보기

데이터는 크게 두 가지 방식으로 영속화할 수 있어요.

  • AOF(Append-Only File) 는 쓰기 연산의 기록(redo log 또는 journal이라고도 불러요)을 유지해요. 이 기록을 이용해 장애 시점까지 데이터베이스를 재구성할 수 있어요. AOF 파일에는 데이터베이스에 가해진 쓰기 연산이 담기는데, 매초마다 또는 모든 쓰기 때마다 갱신할 수 있어요(Redis Cloud Pro 플랜 전용).
  • 스냅샷은 인메모리 데이터베이스의 복사본을 주기적으로(1시간, 6시간, 12시간 간격) 떠 두는 방식이에요. 스냅샷 시점의 데이터로 복원할 수 있죠.

AOF 파일이 스냅샷보다 내구성(durability)이 좋지만 그만큼 자원과 복구 시간이 더 들어요. 스냅샷은 복구가 빠른 대신, 장애 시점과 가장 최근 스냅샷 사이의 시간에 따라 데이터 손실 위험이 더 크고요.

⚠️ 데이터 영속성을 끄면 데이터베이스가 다운될 때 데이터가 유실돼요.

데이터 영속성 설정하기

Redis Cloud에서 데이터 영속성은 데이터베이스 설정 항목이에요. 데이터베이스 편집 화면에서 바꿀 수 있어요. 설정의 사용 가능 여부는 플랜에 따라 달라져요.

  • 무료 Redis Cloud Essentials 플랜은 데이터 영속성을 지원하지 않아 설정이 아예 비활성화돼요.
  • 유료 Redis Cloud Essentials 플랜은 매초 AOF와 모든 스냅샷 옵션을 지원해요.
  • Redis Cloud Pro는 모든 데이터베이스에서 데이터 영속성 설정을 쓸 수 있어요.

활성화하면 Data persistence 설정을 다음 값 중 하나로 바꿀 수 있어요.

옵션 설명
None 데이터를 디스크에 영속화하지 않음
Append Only File (AoF) every write (Redis Cloud Pro 전용) 모든 쓰기를 기록(fsync로 디스크 동기화)
Append Only File (AoF) every 1 second 기록을 매초마다 갱신(fsync로 디스크 동기화)
Snapshot every 1 hour 매시간 데이터베이스 스냅샷 생성
Snapshot every 6 hours 6시간마다 데이터베이스 스냅샷 생성
Snapshot every 12 hours 12시간마다 데이터베이스 스냅샷 생성

데이터 영속성 설정을 저장하면 배경에서 적용돼요. 그래서 새 설정이 적용되기까지 잠깐의 지연이 있을 수 있어요.

복제(replication)가 켜진 데이터베이스에서는 기본(primary, master) 데이터베이스의 성능 영향을 줄이려고 복제본(replica)에서 영속화를 수행해요.

더 알아보기