GiYeong

Redis, Memcached 본문

CS/DB

Redis, Memcached

gy2710 2022. 8. 31. 17:11

Redis(Remote Dictionary Storage)

NoSQL로서 Key-Value 타입의 저장소이다.

또한 인메모리 DB로써 모든 데이터를 메모리에 저장하고 조회하는 DB이다.

다른 인메모리 DB와의 차이점은 다양한 자료구조를 가지고 있다는 점이다.

 

Redis의 특징

  • Snapshots : 특정 시점에 데이터를 디스크에 저장하여 파일 보관/복구 가능
  • 복제 : Master-Slave 구조로, 여러 복제본을 만들 수 있다. (DB 읽기 확장을 통해 높은 가용성, 클러스터 제공)
  • 읽기 성능 증대를 위한 서버 측 복제를 지원
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding) 지원
  • 다양한 서비스에서 사용되며 검증된 기술
  • 문자열, 리스트, 해시, 셋, 정렬된 셋 등의 다양한 자료구조를 지원함으로서 다양한 기능 구현 가능
  • 단점 : 싱글쓰레드만 사용 가능

Memcached

분산 메모리 캐싱 시스템, RAM에 데이터 및 오브젝트를 캐싱하여 DB 및 API에서 읽어와야 하는 작업을 줄일 수 있다.

 

Memcached의 특징

  • 멀티쓰레드를 지원하기 때문에 스케일업을 통해 더 많은 작업을 처리할 수 있다.

 

Redis와 Memcached의 공통점

  • 1ms 이하의 응답대기시간 : 데이터를 메모리에 저장하기 때문에 DB보다 빠르게 데이터 읽기 가능
  • 개발의 용이성 : 문법적으로 사용하기 쉬움
  • 데이터 파티셔닝 : 데이터를 여러 노드에 분산하여 저장시킬 수 있다. 따라서 수요가 증가할 때, 더 많은 데이터를 효과적으로 처리하기 위해 스케일아웃이 가능
  • 다양한 프로그래밍 언어 지원

 

'CS > DB' 카테고리의 다른 글

RDBMS / NoSQL  (0) 2022.06.21
JOIN  (0) 2022.06.21
정규화  (0) 2022.06.21
트랜잭션  (0) 2022.06.18
DB에서 인덱스를 사용하는 이유  (0) 2022.06.18
Comments