본문 바로가기

인메모리 저장소와 Redis (RDB와의 비교)

@6uiw2025. 10. 23. 01:19
학습목표

인메모리 저장소와 디스크 기반 저장소의 차이를 이해한다.

NoSQL의 개념과 Redis에 대해 이해한다.

📌 관계형 DB (RDB: Relational Database)

  • 데이터 저장방식 : 테이블(행과 열) 형태로 저장
  • 특징 : 영속성일관성(서비스를 종료해도 다시 접속하면 남아있음)
  • 저장 위치 : 파일 시스템(HDD/SSD)에 저장
  • 장점 : 서비스 종료 후에도 데이터가 남음
  • 단점 : 디스크 접근으로 인해 속도가 상대적으로 느림

 

 

📌 In-memory DB

  • 데이터를 RAM(메모리)에 저장하는 데이터베이스
  • 장점: 디스크(HDD, SSD) 가 아닌 메모리에 직접 데이터를 올려두기 때문에 읽기/쓰기 속도가 매우 빠르다
  • 단점: 메모리는 휘발성이기 때문에 프로그램이 종료되면 데이터가 사라짐
  • 변화가 많은 데이터에 적합 (사용자 세션정보, 장바구니, 조회수)

 

 

💡H2 Database
- H2는 RDBMS이지만 파일시스템이 아닌 메모리에 데이터를 저장
- 즉, In-memory 모드로 실행하면 프로그램 종료 시 데이터가 사라진다.
- H2는 “테이블 기반 구조는 유지하지만, 저장 위치만 메모리로 바꾼 RDB”

 

 

 

 

 


📌 NoSQL - "Not Only SQL" 

  • SQL만 사용하는 전통적인 관계형 데이터베이스(RDB)”의 한계를 극복하기 위해 등장한 비관계형 데이터베이스
  • 데이터의 양이 많아지고, 비정형데이터가 늘어나고, 관계형 DB의 "일관성을 유지하려는 성질"때문에 확장성과 유연성이 떨어지는 단점이 생기면서 NoSQL이 이를 보완하기 위해 등장

 

관계형 데이터베이스는 일반적으로 테이블 형식으로 데이터를 저장하고, 그 데이터를 회수하기 위해 SQL을 사용

SELECT * FROM users;

 

 

NoSQL의 예시로 Redis는 단순 문자열(String)부터, 리스트, 집합, Hash 등 다양한 형태의 데이터를 저장하며, 이 데이터를 회수하기 위해 SQL을 사용하지 않는다.

SET greeting "Hello, Redis!" GET greeting

 

 

📌 Redis

  • Redis는 대표적인 In-memory 데이터 저장소
  • 단순한 캐시(Cache)가 아닌 Key-Value 형태의 데이터베이스
 
 

 

📌 RDB와 Redis의 데이터 구조 비교

구분 RDB Redis
구조 테이블 (행과 열) Key-Value 구조
스키마 고정적 자유로움
조회 방식 SQL 사용 명령어(GET, HSET 등) 사용
저장 위치 디스크(HDD, SSD) 메모리(RAM)
속도 느림 빠름
지속성 영속적 (서버 재시작 후에도 유지) 휘발성 (설정에 따라 유지 가능)
주요 용도 핵심 데이터 저장 캐시, 세션, 임시데이터 저장
예시 MySQL, PostgreSQL Redis, Memcached

 

 
 

📌 RDB + Redis 함께 쓰는 이유

  • RDB는 기록용(영구 저장)
  • Redis는 캐시용(빠른 조회)
상황 권장 DB
회원가입, 결제 등 중요한 데이터 RDB
로그인 세션, 조회수, 인기글 랭킹 Redis
동일한 데이터 반복 조회 Redis

 

'DATABASE > Redis' 카테고리의 다른 글

[Redis-Spring 연동하기] RedisTemplate의 이해  (0) 2025.10.23
6uiw
@6uiw :: LOG.INFO("MING's DEVLOG")

개발을 하면서 공부한 기록을 남깁니다

목차