Infra & DevOps/AWS

[AWS]ElastiCache vs memoryDB

용감한 개복치 2023. 4. 9. 18:27

요약

공통점

  • 수직, 수평 확장이 가능하며 데이터 샤딩과 읽기 레플리카 지원
  • 멀티 az 지원, 페일 오버 기능 제공
  • 읽기 속도는 마이크로초 단위

차이점

  • 엘라스틱 캐시의 가격이 메모리디비의 약 66% → 40%정도 더 싸다
  • 엘라스틱 캐시는 페일오버시 데이터 손실이 우려되나, 메모리디비는 그부분을 보장한다
  • 엘라스틱 캐시는 쓰기가 마이크로초 단위, 메모리 디비는 밀리세컨드초 단위 → 메모리 디비가 느림

 

고민

신규 서비스에서 사용할 redis를 생성하고자함. 레디스를 캐시로 사용하기 위한 aws 서비스에는 elasticache 와 memorydb가 있음. 둘 중 어느 쪽으로 선택해야 하는가? 데이터베이스의 목적은 아니고, 오로지 캐싱만을 목적으로함.

 

비교

ElastiCache

설명

  • aws에서 제공하는 완전 관리형 캐시, 주로 캐시로 사용됨
  • in-memory cache(물리적 디스크에 접근x 오로지 메모리로만 처리, 그래서 오로지 메모리 크기까지만 저장 가능)로 NoSQL 시스템을 제공
  • 프라이머리 노드에 문제가 생겨 페일오버를 진행하게 되면 데이터를 잃을 수 있음.
  • 선결제 비용이나 장기 약정이 없으며 사용하는 각 Redis 노드에 대해 월별 비용만 지불
  • 읽기 & 쓰기에 마이크로 단위의 레이턴시
  • 가격(도쿄기준) ondemand cache.r6g.2xlarge (8 vCPU, 52GB mem) = $0.985/h.
  • t4g 기준은 다음과 같음
  • 캐싱용으로 사용되기 때문에 다음 구조를 가짐

memoryDB

설명

  •  MemoryDB는 고성능 요구 사항이 있는 애플리케이션을 위해 설계된 내구성 있는 데이터베이스
  • MemoryDB에서는 분산 트랜잭션 로그를 사용하여 페일오버 동안 데이터가 손실되지 않으므로 클라이언트는 노드 장애에 관계없이 primary의 쓰기를 읽을 수 있음.
  • 읽기는 마이크로 단위의 레이턴시, 쓰기는 한자리수 밀리세컨드 단위의 레이턴시
  • 가격(도쿄기준) ondemand db.r6g.2xlarge (8 vCPU, 52GB mem) = $1.478/h.
  • 데이터 쓰기 가격 $0.20/GB
  • t4g 기준은 다음과 같음
  • 데이터베이스용으로 사용되기 때문에 다음 구조를 가짐