[Database] NoSQL 개요

우유·2026년 2월 5일

[Cloud] Database

목록 보기
19/28
post-thumbnail

NoSQL 개념 정리 – 왜 등장했고, 언제 사용하는가?

1. NoSQL이란?

NoSQL(Not Only SQL)
전통적인 관계형 데이터베이스(RDBMS)의 한계를 보완하기 위해 등장한
비관계형 데이터베이스 계열을 의미한다.

NoSQL의 핵심 개념은 다음과 같다.

  • 고정된 스키마를 강제하지 않는다
  • 대용량 데이터를 분산 환경에서 수평 확장(Scale-out) 하기 위해 설계되었다
  • 단일 서버가 아닌 여러 노드에 데이터를 분산 저장한다

❗ 핵심 포인트

  • “SQL을 안 쓴다” ❌
  • 관계형 모델이 아닌 저장 구조를 사용한다” ⭕

즉, NoSQL은 SQL의 대체제가 아니라
다른 문제를 해결하기 위한 데이터 저장 방식이다.


2. 왜 NoSQL이 등장했는가? (RDB의 한계)

RDB의 강점

관계형 데이터베이스는 오랫동안 표준으로 사용되어 왔다.

  • ACID 기반의 강력한 정합성
  • 정규화된 데이터 모델
  • 트랜잭션 처리에 최적화
  • 복잡한 조인(Query)에 강점

하지만 구조적인 한계도 존재

문제설명
수평 확장서버 추가(Scale-out)가 어려움, Scale-up 중심
스키마 변경운영 중 ALTER TABLE 비용 큼
대용량 로그/이벤트조인 중심 구조와 부적합
글로벌 서비스단일 DB 병목 및 지연 발생
클라우드 환경동적 확장에 비효율적

➡ 대규모 트래픽과 데이터를 다루는 웹 서비스 / 클라우드 환경에서는
새로운 저장 방식이 필요해졌다.


3. NoSQL의 핵심 특징

구분설명
Schema-less사전에 테이블 구조를 고정하지 않음
Scale-out서버를 추가하여 성능·용량 확장
분산 저장데이터가 여러 노드에 분산
고가용성복제(Replica) 기반 장애 대응
유연한 데이터JSON, Key-Value, Column 기반 구조

NoSQL은 정합성보다 확장성과 가용성을 우선시하는 경우가 많다.


4. NoSQL 유형 분류

① Key-Value Store

  • 예: Redis
  • 구조: key → value
  • 특징:
    • 매우 빠른 조회 속도
    • 단순한 데이터 구조
  • 용도:
    • 캐시
    • 세션 저장
    • 토큰 관리

② Document Store

  • 예: MongoDB
  • 구조: JSON(Document)
  • 특징:
    • 스키마 유연
    • 객체 단위 저장
  • 용도:
    • 웹 서비스
    • REST API
    • 로그, 이벤트 데이터

③ Wide Column Store

  • 예: Cassandra
  • 구조: Row + Column Family
  • 특징:
    • 대규모 분산 처리에 특화
    • 쓰기 성능 우수
  • 용도:
    • 대규모 로그
    • 시계열 데이터
    • 분석 시스템

④ Graph Database

  • 예: Neo4j
  • 구조: Node + Edge
  • 특징:
    • 관계 탐색에 최적화
  • 용도:
    • 추천 시스템
    • 소셜 네트워크
    • 관계 분석

5. Document DB 구조 이해 (MongoDB 기준)

RDB vs Document DB 비교

RDBMongoDB
DatabaseDatabase
TableCollection
RowDocument
ColumnField
Schema 고정Schema 유연

예시 데이터 구조

{
  "name": "Kim",
  "age": 29,
  "skills": ["AWS", "Docker", "Kubernetes"],
  "created_at": "2026-01-01"
}

Document DB의 특징

  • 컬럼 추가/삭제가 자유롭다
  • JOIN 대신 문서 중첩(Embedded) 사용
  • 애플리케이션 객체 구조와 유사

6. 언제 NoSQL을 쓰는가?

NoSQL은 다음 상황에서 강점을 가진다.

  • 스키마 변경이 잦은 서비스
  • 대량의 로그 / 이벤트 데이터
  • 캐시 및 세션 저장
  • 글로벌 서비스 (지리적 분산)
  • 초고속 읽기/쓰기 요구

❗ 중요한 점
NoSQL이 RDB를 완전히 대체하지는 않는다.
대부분의 실무에서는 RDB + NoSQL을 함께 사용한다.


7. 한 줄 요약

NoSQL은 “관계형 DB의 대체”가 아니라
확장성과 유연성을 위한 또 하나의 선택지다.

profile
Front-end Developer, Cloud Engineer

0개의 댓글