Redis / Sharding

NAMU·2022년 7월 5일
0

AWS

목록 보기
1/1
post-thumbnail

Redis란?

Remote Dictionary Server

AWS (ElastiCache)


: key-value로 구성된 인메모리 데이터베이스



인메모리 데이터베이스

: 모든 데이터를 디스크가 아닌, 메모리에 저장하고 조회하는 방식

캐싱, 세션 관리, BSD 라이센스



특징

  1. 영속성
    : 어떤 상태가 계속 유지되는 것. 영구히 저장되는 어떤 것을 의미한다.

  2. 서버 측 비동기 복제 지원으로 인한 읽기 성능 증가

  3. 클라이언트 측 샤딩 Sharding 지원으로 인한 쓰기 성능 증가

  4. 다양한 데이터 셋 지원, 다양한 기능 구현 가능
    문자열, 리스트, 해시, 셋, 정렬된 셋



데이터 저장 방식

  1. Snap Shotting 메모리 스냅샷
    : 순간적으로 메모리에 있는 데이터를 찍어, 디스크로 옮기는 작업
    SAVE / BESAVE

  2. Append on File
    : redis의 write/update 연산을 log 파일에 기록하고
    서버를 재시작하면 log에 기록된 write/update 연산을 다시 실행시킨다.
    log에 있는 모든 연산을 재실행하기 때문에 파일이 무겁고 속도가 느리다








Sharding이란?

샤딩 = 파티셔닝


: DB의 관리 용이성 및 읽기 최적화를 위해 논리적인 테이블의 물리 구조를 여러개의 파티션(Partition)으로 분할하여 분산 저장하는 기법



Redis의 클라이언트 측 샤딩

이미지출처 : https://cla9.tistory.com/102

: redis에서 파티셔닝의 책임은 client에게 있다.
client가 데이터를 어디에 저장할 지, 데이터를 어디서 찾아야 할 지 정해주어야 한다.

0개의 댓글