Database

[NoSQL] NoSQL

noahkim_ 2024. 9. 5. 10:58

1. NoSQL이란?

  • Not Only SQL (SQL 지원)
  • RDBMS보다 덜 제한적인 일관성 모델을 사용하는 데이터 매커니즘

 

유연한 데이터 모델
  • 스키마가 고정되어 있지 않음

 

대규모 분산 데이터
  • 클라우드 컴퓨팅 등장에 맞춰 생긴 기술
  • 데이터 공유 및 시스템 운용의 효율성 좋음

 

2. 장점

성능
  • latency: 빠르게 데이터 읽고 쓸 수 있음
  • throughput: 다수의 요청을 효율적으로 처리할 수 있음 (수평적 확장)

 

단순성
  • 설계: 논리적, 물리적 설계 스킵
  • clustering: 분산환경에서 사용하기 용이하도록 지원
  • partitioning (horizontal): 분산환경에서 사용하기 용이하도록 지원

 

3. 종류

key-value
  • 데이터: key-value 쌍
  • 빠른 데이터 접근 가능
  • Redis, DynamoDB, Riak

 

wide column
  • row-column 기반
  • 주로 빅데이터 애플리케이션에서 사용됨
  • Apache Cassandra, HBase

 

graph
  • 데이터 간의 관계를 graph 자료구조로 저장 (Node, Edge, Property)
  • Neo4j, Amazon Neptune, ArangoDB

 

document
  • 문서 형식으로 저장 (JSON, BSON, XML)
  • MongoDB, CouchDB, Amazon DocumentDB

 

 

 

 

출처