Database - 10. Redis 편

Perdy·2023년 9월 18일
0

CS

목록 보기
19/20

Redis

no-sql DB로 기본적으로 key 와 value 쌍의 형태로 데이터를 메모리에 저장합니다. 메모리에 저장된 내용을 지속시키기 위해 파일로 싱크 하는 기능을 제공합니다.

보통 DB는 HDD나 SSD에 데이터를 저장합니다. 그렇지만 Redis는 메모리(RAM)에 저장해서 디스크 스캐닝이 없기 때문에 매우 빠른 장점이 존재합니다.

캐싱도 가능하다는 장점이 있어서, 실시간 채팅에 적함하고 세션 공유를 위해 세션 클러스터링에도 활용됩니다.

데이터 타입
String
set
sorted set
Hash
List

장점
특정 시점의 백업 및 복구에 유리합니다. 또한 redis-server 디스크에 저장하는 시점까지 disk i/o 가 일어나지 않으므로 성능을 극대화 할 수 있습니다.

AOF에 비해 더 빨리 메모리에 데이터를 올리고 redis-server를 시작할 수 있습니다.

  • AOF
    실행한 명령들을 계속 파일에 추가해나가는 방식으로, mysql의 바이너리 로그와 비슷합니다.

단점
사고 발생시 백업이 일어나는 시점들 사이에 일어나는 변경사항이 손실될 수 있습니다.
백업시 fork() 로 자식 프로세스를 생성해서 백업 작업을 시행하는데, 이때 데이터가 크다면 순간적으로 많은 cpu 부하가 발생할 수 있다는 단점이 있습니다.

참고 링크

profile
영원한 뉴비. 꾸준히 한다면 언젠가는 높은 곳에 도달할지도?

0개의 댓글