SteadyDrills

NoSQL 본문

CS

NoSQL

Drills 2024. 11. 29. 22:45

241129

 

NoSQL

NoSQL(Not Only SQL)은 구조화된 스키마를 강제하지 않고 비관계형 데이터 저장소로 설계된 데이터베이스이다. 데이터 구조, 확장성, 속도, 유연성을 중요시하고, 다양한 데이터 모델(문서, 키-값, 그래프, 열 기반 등)을 지원한다.

 

NoSQL의 장단점

 

장점

  • 확장성(Scalability)
    • 수평적 확장이 가능하며, 데이터가 증가할 때 서버 추가를 통해 현재의 성능을 유지할 수 있다.
  • 유연한 스키마(Flexible Schema)
    • 데이터 스키마를 미리 정의하지 않아도 되며, 다양한 형태의 데이터를 저장할 수 있다.
    • JSON, BSON, 키-값, 그래프 등 다양한 데이터 모델을 지원한다.
  • 고성능(High Performance)
    • 대량의 읽기/쓰기 작업을 빠르게 처리하며, 특히 캐싱 시스템이나 분산 처리 환경에서 높은 성능을 보여준다.
  • 빅데이터와 실시간 처리에 최적화
    • 대규모의 비정형 데이터(텍스트, 이미지, 비디오)를 저장하고 처리에 최적회 되었다.

 

단점

  • ACID 트랜잭션의 제한적 지원
    • 대부분의 NoSQL DB는  CAP 이론에 따라 데이터의 일관성(Consistency)보다 가용성(Availability)을 우선시하며, 전통적인 RDBMS의 ACID 트랜잭션을 완벽히 지원하지는 않는다.
  • 제한적인 쿼리 기능
    • 관계형 데이터베이스에서 지원하는 복잡한 JOIN이나 집계 연산을 수행하는 데 어려움이 있다.
  • 표준화 부족
    • 다양한 NoSQL 솔루션이 존재하지만, 표준화된 쿼리 언어나 방식이 없어 학습 곡선이 있을 수 있다.
      ➡️ 사용 시 초기 학습에 어려움이 있다. 
  • 관계 데이터 처리 어려움
    • 복잡한 관계형 데이터 모델링이 필요한 경우 사용하기 어렵거나 비효율적이다.

 

*개념정리

더보기

CAP 이론

분산 시스템의 세 가지 중요한 특성인 일관성(Consistency), 가용성(Availability), 파티션 허용성(Partition Tolerance) 간의 상충 관계를 설명하는 이론이다. 위 이론에서는 세 가지 특성 중에서 두 가지를 동시에 만족할 수 있지만, 세 가지를 모두 만족할 수는 없다고 한다.

 

파티션 허용성(Partition Tolerance)을 필수적으로 선택하며, 일관성(Consistency)과 가용성(Availability) 중 하나를 더 중점적으로 지원

 

NoSQL의 종류

'CS' 카테고리의 다른 글

Docker란?  (0) 2024.12.03
RDBMS와 NoSQL의 차이  (2) 2024.12.02
RDBMS (관계형 데이터베이스 관리 시스템)  (1) 2024.11.28
클라이언트(Client)란?  (0) 2024.11.26
세션 인증과 JWT 인증의 차이  (1) 2024.11.24