티스토리 뷰

카테고리 없음

[Redis] In memory Database - Redis

잰잰테크 2023. 11. 27. 13:38

1. Redis란?

 Redis는 Remote Dictionary Server의 약자로 이름 그대로 dictionary 구조, 즉 key-value 형태로 비정형 데이터를 저장하고 관리하기 위한 오프 소스 기반의 비관계형 데이터 베이스 관리 시스템(DBMS)이다. Redis는 문자열, 해시, 목록, 집합, 범위, 쿼리가 있는 정렬된 집합, 비트맵, 하이퍼로그, 자리 공간 인덱스 및 스트림과 같은 컬렉션을 제공한다. Redis는 여러 데이터 형식을 지원하며 크게 String, Set, Sorted Set, Hash, List이 있다.

 

2. Redis의 특징

  • 영속성을 지원하는 인메모리 데이터 저장소
    • 영속성을 보장하기 위해 데이터를 Disk에 저장 가능
    • Disk에 저장하는 방식은 크게 두 가지
      • RDB(Snapshotting) 방식 : 순간적으로 메모리에 있는 내용을 Disk에 전체를 옮겨 담는 방식
      • AOF(Append On File) 방식 : Redis의 모든 write/update 연산 자체를 모두 log 파일에 기록하는 형태
  • 읽기 성능 증대를 위한 서버 측 복제를 지원
    • 전체 데이터베이스의 초기 복사본을 받는 마스터/슬레이브 복제를 지원
    • 마스터에 쓰기가 수행되면 슬레이브 데이터 세트를 실시간으로 업데이트하기 위해 연결된 모든 슬레이브로 전송
  • 쓰기 성능 증대를 위한 클라이언트 측 샤딩(Sharding)을 지원
    • 샤딩 : 같은 테이블의 스키마를 가진 데이터를 다수의 데이터베이스에 분산하여 저장하는 방법
  • 다양한 서비스에서 사용되며 검증된 기술

참고자료

https://liebe97.tistory.com/37