-
In-memory DB인 Redis의 특징대용량 데이터 & 트래픽/대용량 처리를 위한 redis 2024. 3. 10. 10:39
Redis의 정의
- Remote Dictonary Server
- Storage : 데이터를 저장하는 외부 저장소
- NoSQL - 영속성의 관점에서 전통적인 DBMS 역할을 수행함
- Middleware : 어플리케이션이 이용할 수 있는 유용한 기능을 제공하는 소프트웨어
Redis의 장점
- 아주 빠른 데이터 저장소로 활용
- 분산된 서버들간의 커뮤니케이션 (외부 저장소이기 때문에 로드밸런싱된 분산 시스템에서 동기화 가능)
- 내장된 자료구조를 활용 가능
보통의 DB는 사진처럼 Disk에 저장되는데, Redis는 Memory 영역에 저장된다. Disk에 저장하는 것보다 Memory에 저장하는 것이 훨씬 빠르긴 한데 휘발성의 문제가 있다.
그렇기 때문에 중요한 데이터는 DB에 저장을 하고, 세션 데이터, 캐시와 같은 데이터들을 Redis에 저장한다. Redis도 백업의 기능이 있기 때문에 어느정도의 영속성이 있긴 하지만 완벽하지는 않기 때문에 영속성이 최우선인 데이터들은 mysql과 같은 DB에 저장을 한다.
Key-value의 저장 형식
Redis의 데이터 저장 구조는 key와 value의 한 쌍으로 저장된다. 자바에서의 HashMap과 같은 형식으로 가장 단순한만큼 빠르고 성능이 좋다. 해싱을 통해 구현되며 key를 통해서만 값을 찾아야한다.
단순한 구조의 데이터로 높은 성능과 확장성이 필요할 때 사용하기에 요즘에 가장 많이 사용되는 DB이다.
'대용량 데이터 & 트래픽 > 대용량 처리를 위한 redis' 카테고리의 다른 글
Redis의 Pub/Sub을 이용한 채팅방 기능 구현 (0) 2024.03.11 redis의 Sorted Sets을 활용한 리더보드 구현 (0) 2024.03.11 서비스 속도를 높이는 redis의 캐시레이어 (0) 2024.03.10 분산 환경에서의 session 스토어 (0) 2024.03.10 Redis의 data type (0) 2024.03.10