AWS ElastiCache에서는 Redis 와 Memcached 두가지의 캐시 엔진을 지원하는데, 각각 어떤 기능이 있고 무슨 차이가 있는지 알아보도록 하자.
우선 ElastiCache에 대해서 간단히 알아보자
Amazon ElastiCache
Amazon ElastiCache는 AWS에서 제공하는 인 메모리 데이터 스토어 및 캐싱 서비스이다.
Amazon ElastiCache를 사용해 처리량이 많고 지연 시간이 짧은 인 메모리 데이터 스토어에서 데이터를 검색하여 데이터베이스 성능을 강화시킬 수 있다. ElastiCache는 캐싱, 세션 스토어, 게이밍, 지리 공간 서비스, 실시간 분석 및 대기열ㄹ과 같은 실시간 사용 사례에 많이 선택되고 있다.
Amazon ElastiCache는 Redis와 MemCached 캐시 엔진을 지원하고 있는데, 각각 어떤 성능을 가지고 있는지? 어떨때 써야하는지? 알아보자
MemCached 엔진
- 멀티스레드 아키텍처를 지원한다
- HTML 같은 단순한 코드를 캐싱할 때, 비교적 작은 메모리를 사용한다.
- String 타입만 지원하고 오로지 읽기 전용이기 때문에 다른 작업을 처리하지 않아서 데이터 저장하기에 좋다.
- Redis에 비해 수평적 확장의 이점
Redis 엔진
- String 뿐만 아니라 List, Set, Hash, Bit 배열등 다양한 자료구조를 지원하기 때문에 활용도가 높다.
- Master - Slave 구조의 레플리케이션을 생성할 수 있어서 읽기 능력을 향상시킬 수 있고, 고 가용성 클러스터 제공
- 스냅샷 사용가능
- 특별히 MemCached 엔진이 필요한 경우가 아니면 대부분 Redis 사용
공통점
- 인 메모리 데이터 스토어 ( 메모리 안에 데이터가 저장되어 있어 캐시에 유리)
- Key-value 형식의 NoSql
- 둘 다 완성형 오픈소스 프로젝트
주의할 점
Redis 엔진은 기본적으로 MemCached의 단점을 보완하면서 등장했기 때문에 기능도 더 다양하고 널리 쓰이고 있다.
하지만, Redis는 싱글 스레드만 지원하고 있기 때문에 1번에 1개의 명령어만 실행 가능하다.
Redis가 많이 쓰이고 있지만, 사용 유무에 따라 적절하게 선택해주는게 좋을 것 같다.
'AWS > 용어' 카테고리의 다른 글
[ELB] ALB / NLB / CLB / GWLB (0) | 2021.05.16 |
---|---|
[VPC] NACL과 Security Group의 차이점은 무엇일까?? (0) | 2021.02.24 |
[RDS] Multi AZ와 Read replica (0) | 2021.02.21 |
[AWS] 리전과 가용 영역 (0) | 2021.02.03 |