GiYeong
Redis, Memcached 본문
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