반응형
ChatSocekt에 공부하던 중 Redis를 알게되어 정리하고자 한다.
Redis가 필요한 이유는 ChatSocket을 지원하는 여러서버에서 실시간으로 빠르게 사용할 수 있다고 한다.
NOSQL 이란?
RDBMS는 관계형 데이터베이스 라고 하며 NOSQL은 비관계형 데이터베이스 이다.
(RDBMS가 아닌 다른 형태로 데이터를 저장하는 기술이라고 한다.)
Redis란?
REDIS(REmote Dictionary Sever)는 메모리 기반의 "키-값" 구조 데이터 관리 시스템 이다.
모든 데이터를 메모리에 저장하고 조회하기에 빠른 Read, Write 속도를 보장하는 NOSQL 이다.
Redis 특징
- 영속성을 지원하는 인메모리 데이터 저장소
- 읽기 성능 증대를 위한 서버 측 복제를 지원한다.
- 마스터 / 슬레이브 복제를 지원한다. 마스터에서 쓰기가 수행되면 슬레이브 데이터세트를 실시간으로 업데이트하기 위해 연결된 모든 슬레이브로 전송된다.
- 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding)을 지원한다.
- 샤딩 : 같은 테이블 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법
- 문자열, 리스트, 해시, 셋, 정렬된 셋과 같은 다양한 데이터형을 지원한다.
Redis 장점
- 리스트, 배열과 같은 데이터를 처리하는데 유용하다.
- 리스트형 데이터 입력과 삭제가 MySQL에 비해서 10배 정도 빠르다
- Redis Server는 1개의 싱글 쓰레드로 수행되며, 따라서 서버 하나에 여러개의 서버를 띄우는 것이 가능하다.
반응형
'개인공부' 카테고리의 다른 글
스케일 아웃 vs 스케일 업 (0) | 2020.10.04 |
---|---|
웹 브라우저 에서의 양방향 통신 방법 (0) | 2020.10.04 |
Socket 정리 (0) | 2020.10.04 |
클라이언트 token 보안 전략 (0) | 2020.10.04 |
REST API / Spring hateoas (0) | 2020.10.04 |