NoSQL 장/단점
💡NoSQL 장점
- 유연한 데이터 구조
- RDBMS처럼 엄격한 테이블 구조에 제약받지 않고, JSON 같은 유연한 형식으로 데이터를 저장할 수 있다.
- 이렇듯 고정된 스키마가 없어 요구사항이 변경되었을 때, 데이터베이스를 쉽게 수정할 수 있다.
- 확장성
- 여러 대의 서버에 데이터를 분산하여 저장하고 처리하는 샤딩(Sharding)을 통해 수평적 확장(Scale-out)을 지원한다.
- 값비싼 고성능 서버로 업그레이드하는 수직적 확장(Scale-up) 방식보다 저렴한 범용 서버(Commodity Hardware)를 클러스터에 추가하는 방식으로 시스템 전체의 처리량을 향상시킬 수 있어, 대규모 트래픽 처리에 효과적이다.
- 빠른 성능
- 관계형 데이터베이스의 복잡한 JOIN 연산 대신, 쿼리에 최적화된 데이터 모델을 사용하여 빠른 읽기/쓰기 성능을 제공한다.
- 예를 들어, Document 모델은 연관된 데이터를 하나의 문서로 묶어 관리하므로 복잡한 조회 없이 한 번의 쿼리로 필요한 모든 데이터를 가져올 수 있다.
- 높은 가용성
- 데이터 복제(Replication)를 통해 특정 서버에 장애가 발생해도 서비스 중단 없이 높은 가용성을 보장한다.
- 효율적인 비용
- 일반적으로 NoSQL 데이터베이스는 고가의 하드웨어 및 소프트웨어 라이센스가 필요하지 않기 때문에 SQL 데이터베이스보다 비용 효율적이다.
💡NoSQL 단점
- ACID 트랜잭션 지원 부족
- RDBMS가 보장하는 엄격한 ACID(원자성, 일관성, 고립성, 지속성) 트랜잭션을 완전하게 지원하지 않는 대신, BASE(Basically Available, Soft State, Eventually Consistent) 모델을 따른다.
- 이로 인해 데이터의 일관성이 즉각적으로 보장되지 않고, 최종적으로 일관된 상태가 되는 '결과적 일관성'을 가진다.
- 따라서 금융 거래와 같이 데이터 정합성이 매우 중요한 시스템에는 부적합할 수 있다.
- 복잡한 쿼리에 대한 제한된 지원
- 정규화된 RDBMS와 달리, NoSQL은 JOIN 연산을 지원하지 않거나 제한적으로 지원한다.
- 이로 인해 여러 데이터 모델을 결합하는 복잡한 쿼리나 Ad-hoc 쿼리(비정형 쿼리) 실행이 어렵다.
- 이를 해결하기 위해 개발자가 직접 애플리케이션 레벨에서 데이터를 조합하거나, 역정규화(Denormalization)를 통해 데이터를 중복 저장해야 하는 경우가 발생한다.
- 표준화 부족
- SQL이라는 표준화된 언어를 사용하는 RDBMS와 달리, NoSQL은 데이터베이스 종류(e.g., MongoDB, Cassandra, Redis)마다 서로 다른 API와 쿼리 언어를 사용한다.
- 이는 특정 기술에 종속될(Vendor Lock-in) 가능성을 높이며, 개발자가 새로운 시스템을 학습하는 데 추가적인 비용이 발생하게 된다.
- 데이터 관리의 복잡성
- 스키마가 없다는 유연성은 반대로 데이터 모델링의 책임이 개발자에게 전가된다는 것을 의미한다.
- 데이터의 일관성을 유지하기 위해 애플리케이션 코드의 복잡도가 증가할 수 있으며, 역정규화로 인한 데이터 중복은 업데이트 이상(Update Anomaly)을 발생시킬 수 있어 데이터 관리가 더 까다로워진다.
출처
1) 인프런 강의 - 김영한의 실전 데이터베이스 입문
[지금 무료]김영한의 실전 데이터베이스 입문 - 모든 IT인을 위한 SQL 첫걸음(SQL부터 차근차근)| 김
현재 평점 5.0점 수강생 6,044명인 강의를 만나보세요. 개발자뿐만 아니라 기획자, 데이터 분석가도 SQL 기초부터 차근차근 데이터베이스를 학습합니다. 데이터베이스, SQL 기초, SQL - 데이터 관리, S
www.inflearn.com
2) oracle docs
https://www.oracle.com/kr/database/nosql/what-is-nosql/
개발자가 NoSQL 데이터베이스를 선호하는 이유
NoSQL 데이터베이스는 변화하는 요구사항에 빠르게 적응하기에 애자일 개발 방법론에 자연스럽게 부합합니다.
www.oracle.com
3) 기술 블로그
https://summer-cat93.tistory.com/55
NOSQL이란? SQL과 장단점 비교
관계형 데이터베이스는 오랫동안 데이터를 저장하는 표준이었지만 빅데이터의 증가로 비관계형 데이터베이스(NOSQL)에 대한 관심이 높아지고 있습니다. NOSQL 데이터베이스는 데이터를 저장하고
summer-cat93.tistory.com
'심화 > DB' 카테고리의 다른 글
| [DB] 인메모리 저장소와 Redis 기초 (0) | 2026.02.25 |
|---|---|
| [DB] existById, findById (업데이트 중..) (0) | 2025.11.10 |
| [DB] NoSQL 특징 (0) | 2025.10.27 |
| [DB] Spring Boot 초기 데이터 세팅 (업데이트 중..) (2) | 2025.10.21 |
| [DB] Soft Delete (논리 삭제) vs Hard Delete (물리 삭제) (2) | 2025.10.16 |