Database · 한장정리
[기술사토픽] NoSQL 유형 비교 완벽 정리 - 한장정리
Key-Value·Document·Column·Graph DB 4가지 유형 특징, CAP 정리와 BASE 속성, RDBMS vs NoSQL 선택 기준까지 기술사 빈출 주제를 완벽 정리합니다.
Ⅰ.비정형 데이터 처리 기술, NoSQL의 개요
개념: NoSQL(Not Only SQL)은 관계형 DB의 한계를 극복하기 위해 등장한 비관계형 DB로, 대용량·비정형 데이터를 유연하고 빠르게 처리합니다.
등장 배경: (1) 빅데이터·클라우드 환경에서 수평 확장(Scale-Out) 필요 (2) 스키마 유연성 요구 (3) 높은 가용성과 분산 처리 요구
가. NoSQL 4가지 유형
Key-Value Store
구조: Key → Value 단순 매핑
특징: 조회 O(1), 스키마 없음
대표: Redis, DynamoDB, Memcached
적합: 캐시, 세션, 장바구니
Document DB
구조: JSON/BSON 문서 단위 저장
특징: 유연한 스키마, 중첩 구조
대표: MongoDB, CouchDB
적합: 콘텐츠 관리, 카탈로그
Column Family
구조: 컬럼 패밀리 단위 저장
특징: 와이드 컬럼, 집계 빠름
대표: Cassandra, HBase
적합: 시계열, IoT, 로그
Graph DB
구조: 노드·엣지·속성
특징: 관계 탐색 최적화
대표: Neo4j, Amazon Neptune
적합: SNS, 추천엔진, 사기탐지
Ⅱ.CAP 정리 & BASE 속성
가. CAP 정리 (Brewer's Theorem)
분산 시스템은 C·A·P 세 가지를 동시에 보장할 수 없고, 둘만 선택할 수 있다는 정리입니다.
C — 일관성
Consistency
모든 노드가 동일한 데이터 반환
모든 노드가 동일한 데이터 반환
A — 가용성
Availability
모든 요청에 응답 보장
모든 요청에 응답 보장
P — 분할 내성
Partition Tolerance
네트워크 분할 시에도 동작
네트워크 분할 시에도 동작
| 선택 | 포기 | 대표 DB | 특징 |
|---|---|---|---|
| CA (C+A) | P | RDBMS (MySQL, PostgreSQL) | 단일 노드. 분산 환경 부적합 |
| CP (C+P) | A | HBase, Zookeeper, MongoDB | 일관성 우선. 장애 시 서비스 중단 |
| AP (A+P) | C | Cassandra, DynamoDB, CouchDB | 가용성 우선. 최종 일관성 |
나. BASE 속성 (NoSQL의 일관성 모델)
NoSQL은 ACID 대신 BASE 속성을 따릅니다.
| 속성 | 의미 | 설명 |
|---|---|---|
| BA — Basically Available | 기본 가용성 | 항상 응답. 일부 실패 허용 |
| S — Soft State | 소프트 상태 | 입력 없어도 시간이 지나면 상태 변할 수 있음 |
| E — Eventually Consistent | 최종 일관성 | 일정 시간 후 모든 노드가 일관성 달성 |
시험 포인트
CAP에서 P(분할 내성)는 분산 시스템에서 필수 → 실제로는 CP vs AP 선택. ACID vs BASE: ACID=강한 일관성(RDBMS) / BASE=최종 일관성(NoSQL)
Ⅲ.RDBMS vs NoSQL 선택 기준
| 구분 | RDBMS | NoSQL |
|---|---|---|
| 스키마 | 고정(엄격) | 유연(동적) |
| 확장 방식 | 수직 확장(Scale-Up) | 수평 확장(Scale-Out) |
| 일관성 | ACID (강한 일관성) | BASE (최종 일관성) |
| 조인 | 복잡한 조인 지원 | 조인 제한적 |
| 트랜잭션 | 완전 지원 | 제한적 지원 |
| 적합 상황 | 금융, 회계, 복잡한 관계 | SNS, IoT, 빅데이터, 캐시 |
Ⅳ.결론 및 전문가 의견
결론
NoSQL은 RDBMS의 대체가 아닌 보완 기술입니다.
향후 NewSQL(ACID + 수평확장), 멀티모델 DB, 벡터 DB(AI 임베딩 검색)로 진화하며 워크로드에 맞는 폴리글랏 퍼시스턴스 전략이 표준이 되고 있습니다.
"NoSQL은 'SQL 없음'이 아니라 'SQL만이 아님'이다. 올바른 도구를 올바른 문제에 사용하라."
블로그: 기술사 학습노트 · imt-log.tistory.com
'데이터베이스' 카테고리의 다른 글
| 빅데이터 플랫폼과 분산처리(Hadoop·Spark) 정리 (0) | 2026.04.09 |
|---|---|
| SQL 핵심 문법과 쿼리 최적화 정리 (0) | 2026.04.06 |
| 데이터베이스 인덱스 쿼리 최적화 완벽 정리 (0) | 2026.03.19 |
| 트랜잭션 ACID 동시성 제어 락 개념 정리 (0) | 2026.03.19 |
| 관계형 데이터베이스 정규화 1NF 2NF 3NF 정리 (0) | 2026.03.19 |