
SQL vs NoSQL 특집 (Part 2): 2026년 데이터베이스 지형도와 선택 가이드
MongoDB는 ACID를, PostgreSQL은 JSON을 품었다. Netflix는 Cassandra에서 CockroachDB로, Discord는 MongoDB에서 ScyllaDB로 갈아탔다. 2026년, 데이터베이스의 경계는 무너지고 있다. NoSQL 5가지 유형 비교, NewSQL, 벡터 DB, 그리고 실전 선택 가이드.

MongoDB는 ACID를, PostgreSQL은 JSON을 품었다. Netflix는 Cassandra에서 CockroachDB로, Discord는 MongoDB에서 ScyllaDB로 갈아탔다. 2026년, 데이터베이스의 경계는 무너지고 있다. NoSQL 5가지 유형 비교, NewSQL, 벡터 DB, 그리고 실전 선택 가이드.
Part 1에서 관계형 모델의 탄생, NoSQL의 반란, CAP 정리, ACID vs BASE를 다뤘다. Part 2에서는 2026년 현재의 데이터베이스 지형도를 그리고, **"그래서 나는 뭘 써야 하는가?"**에 답한다.
"NoSQL"은 하나의 기술이 아니라 5가지 서로 다른 데이터 모델의 총칭이다.
데이터를 JSON 문서로 저장한다. 같은 컬렉션 안에서도 각 문서의 구조가 다를 수 있다.
// 사용자 A: 기본 프로필
{ "name": "김철수", "email": "kim@example.com" }
// 사용자 B: 배송 주소 포함
{ "name": "이영희", "email": "lee@example.com",
"addresses": [
{ "type": "home", "city": "서울" },
{ "type": "work", "city": "판교" }
]
}
SQL에서는 이렇게 다른 구조의 데이터를 한 테이블에 넣을 수 없다. 문서형 DB는 각 문서가 독립적인 구조를 가질 수 있어 유연하다.
대표: MongoDB (DB-Engines 5위, 가장 인기 있는 NoSQL)
가장 단순한 모델. 해시맵과 동일하다 — 키를 주면 값을 반환한다.
SET session:abc123 '{"user":"김철수","login_time":"2026-03-19T10:00:00"}'
GET session:abc123
단순하기 때문에 가장 빠르다. Redis는 초당 10만+ 읽기 연산을 처리한다.
대표: Redis (캐싱, 세션 관리, 실시간 리더보드)
행 단위가 아닌 열 단위로 데이터를 저장한다. 같은 열의 데이터가 물리적으로 함께 저장되므로, 특정 열에 대한 집계·분석이 매우 빠르다.
대표: Apache Cassandra — Apple, Netflix, Uber, Spotify, Twitter가 사용. 마스터 없는(masterless) 분산 구조로, 단일 장애점이 없다.
데이터를 **노드(개체)**와 **엣지(관계)**로 저장한다. "A가 B를 팔로우하고, B가 C를 팔로우하고, C가 A를 팔로우한다" 같은 관계망을 효율적으로 탐색한다.
대표: Neo4j — 지식 그래프, 사기 탐지, 추천 엔진, 2026년에는 GraphRAG(그래프 기반 RAG)의 핵심 인프라로 부상.
시간에 따른 데이터 스트림을 저장·조회하는 데 특화. IoT 센서, 서버 모니터링, 주가 데이터.
대표: InfluxDB (수집 속도 최적화), TimescaleDB (PostgreSQL 확장, 복잡한 쿼리에 강점)
SQL의 ACID 보장 + NoSQL의 수평 확장. 이 두 가지를 동시에 제공하는 데이터베이스가 NewSQL이다.
2012년 Google이 발표한 Spanner는 CAP 정리를 "실질적으로 우회"한 데이터베이스다.
비결은 TrueTime — 원자 시계와 GPS를 사용한 전 세계적 시간 동기화 시스템이다. 모든 데이터센터의 시계를 나노초 수준으로 맞추면, 분산 환경에서도 트랜잭션의 순서를 정확히 결정할 수 있다.
결과: 전 세계에 분산된 데이터베이스에서 강한 일관성(strong consistency) + 고가용성을 동시에 달성. PACELC 분류에서 유일한 PC/EC — 항상 일관성을 우선한다.
Netflix는 원래 Cassandra(NoSQL)를 사용했다. 177개 노드에 수조 개의 메시지를 저장했다. 하지만 일관된 트랜잭션, 신뢰할 수 있는 보조 인덱스, SQL 쿼리가 필요해졌다.
해답은 CockroachDB — PostgreSQL 와이어 호환 분산 SQL 데이터베이스였다. 2026년 기준 Netflix는 100개 프로덕션 클러스터, 150개+ 테스트 클러스터를 운영한다. 가장 큰 클러스터: 60노드, 3 AZ, 26.5 TB.
Discord는 177개 Cassandra 노드에 수조 개의 메시지를 저장하고 있었다. 하지만 Java 기반 Cassandra의 GC(가비지 컬렉션) 멈춤이 심각한 지연을 유발했다.
C++로 작성된 ScyllaDB(Cassandra 드롭인 대체)로 9일 만에 무중단 마이그레이션을 완료했다:
Uber는 원래 PostgreSQL 모놀리스를 사용했다. 2014년, 트립 수가 급증하며 데이터베이스 공간이 부족해졌다. PostgreSQL의 복제 방식과 MVCC 메커니즘이 Uber 규모에서 문제를 일으켰다.
해결책: MySQL 위에 자체 샤딩 레이어 Schemaless를 구축. 그리고 미션 크리티컬 OLTP에는 Cassandra-as-a-Service를 운영 — 초당 수백만 쿼리, 페타바이트 데이터를 처리한다.
JPMorgan Chase는 실시간 거래 처리에 관계형 데이터베이스를 사용한다. 이유는 단 하나: 원자성. A 계좌에서 출금했는데 B 계좌에 입금이 안 되는 상황은 절대 일어나면 안 된다. ACID가 이것을 보장한다.
| 업종 | 주로 쓰는 DB | 이유 |
|---|---|---|
| 은행/금융 | PostgreSQL, Oracle, SQL Server | ACID 필수, 규제 컴플라이언스 |
| 소셜 미디어 | Cassandra, Redis, MongoDB | 대규모 읽기/쓰기, 유연한 스키마 |
| 게임 | Redis, DynamoDB | 밀리초 지연, 실시간 리더보드 |
| 전자상거래 | PostgreSQL + DynamoDB | 결제는 SQL, 카탈로그는 NoSQL |
| IoT/모니터링 | InfluxDB, TimescaleDB | 시계열 데이터 전문 |
AI 모델이 텍스트를 **벡터(숫자 배열)**로 변환해 유사도를 검색하는 **RAG(Retrieval-Augmented Generation)**의 핵심이 벡터 DB다.
| 벡터 DB | 유형 | p99 지연 | 추천 용도 |
|---|---|---|---|
| Pinecone | 관리형 | 7ms | 상용 AI, 운영 부담 제로 |
| Milvus | 오픈소스 | 30ms 이하 | 10억+ 벡터 대규모 배포 |
| pgvector | PostgreSQL 확장 | 중간 | SQL+벡터를 한 DB에서 |
| Chroma | 오픈소스 | 빠름 | 프로토타입, 1,000만 이하 |
2026년 가장 중요한 트렌드: 경계가 무너지고 있다.
PostgreSQL이 NoSQL 기능을 흡수:
MongoDB가 SQL 기능을 흡수:
$lookup으로 컬렉션 간 조인"관계형과 문서형 데이터베이스의 경계는 갈수록 흐려지고 있다. 각자가 상대방의 기능을 차용하면서."
| 용도 | 추천 DB | 이유 |
|---|---|---|
| 새 프로젝트 기본값 | PostgreSQL | JSONB + pgvector + ACID = 가장 다재다능 |
| 금융/은행 | PostgreSQL, Oracle | ACID 필수, 규제 컴플라이언스 |
| 실시간 분석 | ClickHouse, TimescaleDB | 컬럼형/시계열 최적화 |
| AI 벡터 검색 | Pinecone (관리형), pgvector (이미 PG 쓸 때) | 임베딩 유사도 검색 |
| 캐싱/세션 | Redis | 밀리초 이하 지연, 풍부한 자료 구조 |
| 소셜 그래프/사기 탐지 | Neo4j | 관계 탐색 최적화 |
| 글로벌 분산 | CockroachDB, Google Spanner | NewSQL: SQL + 수평 확장 |
| 빠른 프로토타이핑 | MongoDB | 스키마 없이 빠르게 시작 |
| 엣지/모바일 | Turso (SQLite) | 로컬 우선, 저지연 |
| 게임 | Redis, DynamoDB | 실시간, 글로벌 복제 |
확신이 없으면 PostgreSQL을 선택하라. 2026년의 PostgreSQL은:
"하나의 데이터베이스로 시작하고, 필요할 때 전문 데이터베이스를 추가하라"가 가장 실용적인 전략이다.
SQL vs NoSQL 논쟁에 정답은 없다. 맥락이 있을 뿐이다.
50년 전 Edgar Codd가 11쪽짜리 논문으로 세운 관계형 모델은 여전히 건재하다. 동시에, Google과 Amazon이 2000년대에 시작한 NoSQL 혁명도 되돌릴 수 없다.
2026년의 현실은 수렴이다. SQL은 JSON과 그래프를 품었고, MongoDB는 ACID를 품었으며, NewSQL은 처음부터 둘 다 가지고 태어났다.
결국 중요한 것은 "SQL인가 NoSQL인가"가 아니라, **"내 데이터의 성격과 비즈니스 요구사항에 가장 맞는 것이 무엇인가"**라는 질문이다. 이 질문에 제대로 답하려면, 두 철학의 근본을 이해해야 한다. 이 글이 그 이해의 시작이 되었기를 바란다.