호테의 노트에 오신 것을 환영합니다 🙌

Tableau와 Salesforce, Python과 SQL 등 데이터의 전반적인 것들을 다루는 기술 블로그입니다.

SQL

NoSQL이란?

Hote's Note 2025. 5. 17. 01:30

1.  NoSQL이란?

  • NoSQL = Not Only SQL의 약자로, “SQL만이 유일한 해답은 아니다”라는 의미입니다.
  • 고정된 스키마 없이 데이터를 저장할 수 있으며, 대규모 데이터를 빠르게 처리하는 데 적합합니다.
  • 수평 확장이 쉬워 대규모 트래픽 처리에 유리합니다.

2. NoSQL의 주요 특징

특징 설명
스키마 유연성 미리 정해진 테이블 구조 없이 데이터 저장 가능
수평적 확장성 서버를 늘려서(Scale-Out) 성능 확장 가능
비정형 데이터 지원 JSON, XML, 이미지, 로그 등 다양한 형태의 데이터 저장 가능
고속 읽기/쓰기 성능 대용량 데이터를 빠르게 처리

3. NoSQL의 주요 유형

유형 설명 예시
문서(Document)형 JSON, BSON 등 문서 단위로 저장 MongoDB, CouchDB
키-값(Key-Value)형 키에 하나의 값을 매핑 Redis, DynamoDB
열(Column)형 열 기반 저장, 대량의 데이터 분석에 적합 Cassandra, HBase
그래프(Graph)형 노드와 간선 구조, 관계 중심 데이터에 강점 Neo4j, Amazon Neptune

4.  NoSQL이 사용되는 상황

  • 실시간 추천 시스템 (예: 쇼핑몰, 영화 추천 등)
  • 사용자 로그나 센서 데이터 저장
  • 소셜 네트워크에서 사용자 간의 관계 표현
  • 대용량 데이터를 빠르게 저장하고 분석해야 하는 경우

5. NoSQL vs SQL (RDBMS)

구분 NoSQL RDBMS (SQL)
구조 유연한 구조 (스키마 없음) 정형화된 테이블 구조 (스키마 필요)
확장성 수평적 확장 (Scale-Out) 수직적 확장 (Scale-Up)
트랜잭션 일부 지원 (BASE 모델) 강력한 트랜잭션 보장 (ACID)
사용 목적 빠른 처리, 빅데이터 분석 정합성, 복잡한 쿼리, 정형 데이터