[DB] Redis
[DB] Redis
Remote Dictionary Server이다.
- 비정형 데이터를 처리하기 위한 오픈 소스 기반의 NoSQL이다.
- Key-Value 쌍으로 이루어진 구조
- In-Memory 데이터 구조를 가졌다.
- RAM에 데이터를 올려 처리하는 방법이다.
- 휘발성을 가진다.
- 사용자의 필요에 따라 여러 형태로 사용할 수 있다!
Redis 특징
- 쿼리문이 필요하지 않다.
- Key-Value 구조이기 때문이다!
- In-Memory DB
- 처리가 빠르다.
- 서버 재시작 시 모든 데이터가 날아간다…
- 복제할 수 있지만 사람의 실수는 복원할 수 없다.
- 백업이 필요하다.
- 여러 DB Type을 지원한다.
- 개발 편의성이 높다.
- Application layer에서 필요한 logic을 DB layer에서 줄일 수 있다.
- Single Thread로 동작한다.
- 한 번에 여러 클라이언트의 요청을 처리할 수 없다.
- 시간 복잡도가 높은 요청이 여러 개 들어오면 너무 느려진다…
- 여러 대의 서버 구성이 가능하다.
- Master-Slave 형식이다.
- 자동 파티셔닝이 지원된다.
- 하지만, 파티셔닝 과정에서 Memory Flagmentation이 발생해 공간 낭비가 심해지거나 심지어 프로세스가 죽어버릴 수도 있다.
This post is licensed under CC BY 4.0 by the author.