학습목표
인메모리 저장소와 디스크 기반 저장소의 차이를 이해한다.
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 |
|---|