심화/DB

[DB] NoSQL 장/단점

annovation 2025. 10. 28. 23:14

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) 인프런 강의 - 김영한의 실전 데이터베이스 입문

https://www.inflearn.com/course/%EA%B9%80%EC%98%81%ED%95%9C-%EC%8B%A4%EC%A0%84-%EB%8D%B0%EC%9D%B4%ED%84%B0%EB%B2%A0%EC%9D%B4%EC%8A%A4-%EC%9E%85%EB%AC%B8

 

[지금 무료]김영한의 실전 데이터베이스 입문 - 모든 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