NoSQL 기반 Key-Value 저장소의 특징과 활용
Redis는 NoSQL 데이터베이스 중 하나로,
Key-Value 구조를 기반으로 동작하는
인메모리 데이터 저장소입니다.
Redis와 관계형 데이터베이스(RDBMS) 비교
항목 | Redis | 관계형 데이터베이스 (RDBMS) |
---|---|---|
데이터 모델 | Key-Value 기반 | 테이블 기반 (행, 열 구조) |
저장 위치 | 메모리(RAM) | 디스크(SSD, HDD) |
속도 | 매우 빠름 (ns 단위 처리) | 상대적으로 느림 (ms 단위) |
트랜잭션 | 지원하지만 복잡한 ACID 특성 부족 | ACID 완벽 지원 |
Redis의 주요 특징
- 인메모리 데이터베이스 → 데이터를 메모리에 저장하여 빠른 처리 속도 보장
- 다양한 데이터 구조 지원 →
String, List, Set, Sorted Set, Hash
등 활용 가능 - 영속성(AOF, RDB) 옵션 제공 → 디스크에 저장하여 데이터 유실 방지 가능
- Pub/Sub 기능 → 메시지 브로커 역할 수행 가능
- 분산 처리 가능 → Redis Cluster를 활용하여 여러 노드로 확장 가능
Redis의 활용 사례
- 캐싱 (Caching) → DB 부하 감소, 성능 최적화 (예: 세션 스토리지)
- 실시간 데이터 처리 → 실시간 랭킹 시스템, 실시간 분석
- 메시지 큐 → Pub/Sub 기능을 이용한 이벤트 기반 처리
Redis의 단점
데이터 유실 가능성 → 메모리 기반이므로, 서버 다운 시 데이터 손실 위험
메모리 사용량 → 대량 데이터를 저장할 경우 메모리 비용이 증가
복잡한 관계 표현 어려움 → 관계형 데이터베이스(RDBMS)처럼 조인을 활용한 복잡한 쿼리 처리 불가능
결론
Redis는 빠른 속도와 실시간 처리에 강점을 가지지만,
데이터 영속성 관리가 필요한 경우 보완적인 대책이 필요
728x90
반응형
'Computing and DB 🖥 > Database' 카테고리의 다른 글
SQL Injection (0) | 2024.02.02 |
---|---|
[JDBC] - PreparedStatement (0) | 2024.01.31 |
DB LOCK 에 대해서 알아보자 (0) | 2024.01.23 |
NoSql 이 뭐야? (0) | 2023.12.12 |
대용량을 대비한 DB... 어떻게 설정해? (feat.PostgreSQL) (33) | 2023.11.14 |