NoSQL이란?

NoSQL은 관계형 모델에만 의존하지 않는 비관계형 데이터베이스를 뜻한다.

NoSQL은 주로 비정형 데이터, 대용량 데이터, 분산 환경에 적합하도록 설계되었다.
RDBMS처럼 고정된 테이블 구조보다, 데이터 특성에 맞는 유연한 저장 방식을 제공한다.

🧭 특징

  • 스키마가 유연하다.
  • 수평 확장에 유리하다.
  • 대용량 데이터 처리에 적합하다.
  • 다양한 형태의 데이터 모델을 지원한다.

⚖️ 장점과 단점

장점

  • 대량 데이터 처리에 유리하다.
  • 설계 유연성이 높다.
  • 분산 처리에 적합하다.
  • 구조 변경이 비교적 쉽다.

단점

  • 데이터 업데이트 중 장애가 생기면 일관성 문제가 발생할 수 있다.
  • 복잡한 조인이나 관계형 질의는 불편할 수 있다.
  • 데이터 무결성 보장이 RDBMS보다 약할 수 있다.

🧱 NoSQL 데이터베이스 유형

Key-Value Database

  • key와 value 형태로 데이터를 저장한다.
  • 구조가 단순하고 빠르다.
예시
Redis
Oracle NoSQL DB
Voldemort

Wide-Column Database

  • 컬럼 패밀리를 기준으로 데이터를 저장한다.
  • 대규모 분산 환경에 적합하다.
예시
HBase
Cassandra
Google BigTable
Vertica

Document Database

  • JSON, BSON, XML 같은 문서 형태로 저장한다.
  • 데이터 구조가 유연하다.
예시
MongoDB
CouchDB
Riak
Azure Cosmos DB

Graph Database

  • 노드, 엣지, 속성으로 관계를 표현한다.
  • 연결 관계가 중요한 데이터에 적합하다.
예시
Sones
AllegroGraph
Neo4j
BlazeGraph
OrientDB

연결문서

댓글남기기