본문 바로가기
Computing and DB 🖥/Database

NoSql 이 뭐야?

by dudefromkorea 2023. 12. 12.

대용량 데이터와 실시간 데이터 처리의 중요성으로 인하여

DB의 역할이 현대 어플리케이션에서 점점 더 중요해지고 있습니다

전통적인 관계형 DB는 오랜 기간 동안 안정적인 데이터 관리 솔루션을 제공했지만,

최근의 데이터 처리 요구사항을 충족시키기에는 몇 가지 한계가 분명히 존재합니다

이러한 한계를 극복하고자 등장한 것이 바로 NoSQL입니다

 

NoSQL이란?

"Not Only SQL"의 약자로 전통적인 관계형 DB 외의 다양한 데이터 저장 방식을 의미

유연한 스키마, 수평적 확장성, 다양한 데이터 모델 지원 등 다양한 특징을 가지고 있다

 

 

특징 SQL (관계형) NoSQL (비관계형)
데이터 모델 테이블 기반의 관계형 모델 키-캆, 도큐먼트, 컬럼 패밀리, 그래프, etc
스케일링 주로 수직적 확장 주로 수평적 확장
스키마 고정된 스키마 유동적인 스키마
사용 사례 트랜잭션 중심 애플리케이션 빅데이터, 실시간 분석, 소셜 미디어, etc

NoSQL의 주요 유형

키 - 값 스토어 (Key - Value Store)

가장 단순한 형태의 NoSQL DB로

Key와 Value의  쌍으로 데이터를 저장

Key는 고유한 식별자 역할, Value는 데이터를 저장

                                                                                                                                               

   

                                 

도큐먼트 스토어 (Document Store)

JSON, BSON 등의 도큐먼트 형태로 데이터 저장

복잡한 데이터 구조와 중첩된 데이터 지원

각 도큐먼트는 고유한 키를 가지며

데이터의 계층적 구조를 자연스럽게 표현 가능

 

 

컬럼 패밀리 스토어 (Column - Family Store)

데이터가 컬럼 패밀리 단위로 저장되어

대규모 데이터 처리에 유리

각 컬럼 패밀리는 관련된 컬럼들의 집합으로

특정 행에 대한 데이터를 효율적으로 저장, 조회 가능

 

 

 

그래프 데이터베이스 (Graph DB)

노드와 엣지로 구성된 그래프 구조를 사용하여 데이터 간의 관계 저장

복잡한 관계를 직관적으로 표현하고 탐색할 수 있어

관계 중심의 데이터 효율적으로 관리 가능

 

 

유형 주요 특징 적합한 사용 사례 대표적인 예시
키 - 캆 단순한 키-값 쌍, 고성능 캐싱, 세션 관리
실시간 데이터 처리
Redis, Amazon DynamoDB
도큐먼트 JSON/BSON 도큐먼트
유연한 스키마
콘텐츠 관리 시스템
사용자 프로필 관리
MongoDB, CouchDB
컬럼 패밀리 컬럼 패밀리 단위 저장
높은 확장성
로그 데이터 저장
실시간 데이터 분석
Apache Cassandra, HBase
그래프 DB 노드와 엣지로 관계 표현
강력한 관계 탐색
소셜 네트워크 분석
추천 시스템, 지식 그래프
Neo4j, Amazon Neptune

 

NoSQL의 장점과 단점

 

 

Key - Value Store의 대표적인 예시 Redis 보러가기

728x90
반응형