(CS/컴퓨터공학) RDB vs NoSQL - 스키마·확장성·일관성·운영

✨ 개요

“사용자가 빠르게 늘면 스키마를 어떻게 가져가야 할까?
“쓰기 폭주에서 확장성은 누가 더 유리할까?”
이 글은 RDB(Relational DB)NoSQL을 스키마/확장성/일관성/운영/비용 관점으로 깔끔히 비교합니다.


1. 한 장 요약

항목 RDB (관계형) NoSQL (문서/키값/컬럼/그래프)
스키마 고정 스키마(DDL 선행), 강한 제약 유연 스키마(스키마-온-리드/쓰기)
트랜잭션 강력한 ACID, JOIN/참조 무결성 엔진별 상이: 단일 문서 원자성↑, 분산 다키 ACID 제한적
확장성 수직 확장(Scale-up) 기본, 샤딩은 복잡 수평 확장(Scale-out) 기본, 샤딩/리플리카 내장
일관성 기본 강한 일관성(엔진/옵션에 따라 다양한 격리수준) 최종 일관성 중심(선택적 강/약 조절 가능)
질의 SQL, JOIN/집계/인덱스 풍부 모델별 쿼리 제약(문서/키값/컬럼/그래프에 특화)
사용 사례 결제/주문/ERP/재고/리포팅 대규모 이벤트 수집, 세션, 캐시, 피드, 카탈로그, IoT
운영/가시성 운영 성숙, 표준화↑ 제품별 상이, 모니터링/튜닝 다양

2 스키마 관점: “변화”를 누가 더 잘 버티나?

2.1 RDB

2.2 NoSQL

결론: 데이터 품질·무결성 우선 → RDB. 빠른 필드 변화/실험 우선 → 문서지향 NoSQL.


3 확장성: 쓰기·읽기·핫파티션

3.1 RDB

3.2 NoSQL


4. 일관성 모델과 CAP 감각

트래픽 특성: 읽기 다수 + 약간의 근실시간성 → 최종 일관성 OK.
금융/권한/재고처럼 정합성 파손이 치명적 → 강한 일관성/RDB(또는 분산 트랜잭션 가능한 엔진) 고려.


5. 데이터 모델별 NoSQL 선택 가이드

모델 강점
키-값 초고속 조회/캐시/세션 Redis, DynamoDB(Key-Value)
문서 유연 스키마, 중첩 구조, API 백엔드 MongoDB, Couchbase
와이드컬럼 시간축/로그/IoT/분석 파티션 Cassandra, HBase
그래프 관계/연결 중심 질의 Neo4j, JanusGraph

쿼리 패턴에서 모델이 결정됩니다. 먼저 “어떤 조회가 가장 많나?”를 쓰고 모델을 고르세요.


6. 인덱스·조인·집계


7. 비용·운영·관찰성


8. 스키마 설계 패턴 (요약)

8.1 RDB – 정규화 + 필요한 곳만 비정규화

8.2 NoSQL – 읽기패턴 기반 드노멀라이제이션


9. 마이그레이션 전략 (둘 사이 이동)


10. 하이브리드(폴리글랏 퍼시스턴스)

하나로 끝내려 하지 말 것. 보통은 조합이 정답:


11. 안티패턴 빠르게



Related Posts