In-Memory DB, redis

twonezero·2024년 8월 5일
0

Redis

목록 보기
1/3

인메모리 저장소

기존의 관계형 데이터베이스를 사용하는 주된 이유는 영속성 데이터, 즉 파일시스템에 데이터를 저장함으로서 서비스가 종료되어도 유지되는 데이터를 위해서이다.

하지만, 많은 서비스가 일시적인 데이터를 저장해야 하는 상황을 필요로 한다. (ex> 로그인 정보, 장바구니 등등)

이런 상황에서 파일시스템을 통해 변화가 빈번한 데이터를 저장하고 변경하는 것은 그 특성상 속도가 느릴 수 밖에 없다. 그렇기에 특정 기능 구현에서 인메모리DB 를 도입해 사용한다.

Redis

  • 대표적인 NoSQL 데이터베이스
  • 관계형 DB 와 달리 Redis 는 메모리(Ram) 에 데이터를 저장하기 때문에, 복잡한 파일 I/O 과정이 필요하지 않아 더 빠르게 동작한다. 그렇기에 언제든 사라질 수 있는 일시적 데이터를 관리하하는데 매우 유용하다.

NoSQL

  • 기존 SQL 의 부족한 확장성과 유연성을 보완하기 위해 NoSQL 사용
  • Big Data 기술의 발전과 비정형 데이터의 처리 상황이 많아짐에 따라 이를 더 높은 성능으로 사용하는데 유용하다.

아래는 많이 사용되는 대표적인 NoSql 의 특징을 표와 그림으로 나타낸 것이다.

DB특징사용 사례
Redis인메모리 데이터 저장소, 빠른 속도캐시, 세션 관리, 실시간 분석
MongoDB문서 지향(Document) 데이터베이스, 유연한 스키마비정형 데이터 저장, 웹 애플리케이션
Cassandra분산형 데이터베이스, 높은 가용성대규모 데이터 처리, IoT 애플리케이션

NoSql DBs

Redis는 NoSQL 중에서도 Key-Value Store로 작동하는 인메모리 데이터베이스이며, 지연이 적은 읽기 / 쓰기 성능을 가졌다. 그렇기 때문에 일시적인 데이터, 변경이 잦은 데이터를 다뤄야 되는 상황에서 많이 활용된다.

  • Session Clustering: 여러 애플리케이션 인스턴스에서 같은 세션 정보를 사용
  • Caching: 자주 사용되는 데이터를 저장해두어, 데이터베이스 조회를 줄이고 전반적인 응답속도를 개선
  • 다양한 자료구조 지원 : 리더보드, 방문수 트래킹, 좌표 기반 검색 등의 기능을 쉽게 구현 가능

인메모리 저장소와 NoSql 에 대한 소개를 설명했다. 다음 글에서는 Redis 의 여러 명령어와 타입들에 대해 설명하겠다.

profile
소소한 행복을 즐기는 백엔드 개발자입니다😉

0개의 댓글