NoSQL 최종 수정일 2026-06-19 01:42 조회수 8
대시보드

NoSQL

기본 정보

  • 명칭: NoSQL
  • 영문명: Not Only SQL
  • 한글명: 비관계형 데이터베이스
  • 분류: 데이터베이스 관리 시스템
  • 주요 용도: 대용량 데이터 및 비정형 데이터 저장
  • 관련 주제: #NoSQL #MongoDB #Redis #Database #백엔드

개요

NoSQL(Not Only SQL)은 관계형 테이블 구조(RDBMS)를 사용하지 않고 다양한 형태의 데이터를 저장하는 데이터베이스 시스템이다.

JSON 문서(Document), Key-Value, Column, Graph 등 여러 구조를 지원하며, 높은 확장성과 빠른 성능을 제공한다.

SNS, 채팅 서비스, 로그 시스템, IoT, AI, 빅데이터 플랫폼 등에서 많이 활용된다.


NoSQL 구조

Application

↓

NoSQL DB

↓

Document

Key-Value

Column

Graph

↓

Storage

주요 특징

  • 스키마가 유연함
  • 수평 확장(Scale Out)에 유리
  • 대용량 데이터 처리
  • 빠른 읽기/쓰기 성능
  • 비정형 데이터 저장 가능
  • JSON 기반 저장 지원

NoSQL 종류

Document Database

문서(JSON) 형태로 데이터를 저장한다.

대표 제품


Key-Value Database

Key와 Value 형태로 데이터를 저장한다.

대표 제품


Column Database

컬럼 단위로 데이터를 저장한다.

대표 제품

  • Cassandra
  • HBase

Graph Database

노드와 관계를 저장하는 데이터베이스이다.

대표 제품

  • Neo4j
  • Amazon Neptune

Document 구조

{
  "_id": 1,
  "name": "홍길동",
  "age": 30,
  "skills": [
    "PHP",
    "Python"
  ]
}

객체 안에 배열과 객체를 자유롭게 포함할 수 있다.


Key-Value 구조

user:1

↓

{

"name":"홍길동"

}

캐시 시스템에서 많이 사용된다.


RDBMS와 비교

RDBMSNoSQL
테이블 기반문서/Key-Value 기반
고정 스키마유연한 스키마
SQL 사용제품별 쿼리 사용
JOIN 지원대부분 JOIN 미지원
ACID 중심BASE 중심
수직 확장 중심수평 확장에 강함

ACID vs BASE

ACID

  • Atomicity
  • Consistency
  • Isolation
  • Durability

데이터 일관성을 중요하게 생각하는 방식이다.


BASE

  • Basically Available
  • Soft State
  • Eventual Consistency

높은 가용성과 확장성을 우선하는 방식이다.


MongoDB 예제

데이터 추가

db.users.insertOne({

  name:"홍길동",

  age:30

})

조회

db.users.find()

수정

db.users.updateOne(

{_id:1},

{$set:{age:31}}

)

삭제

db.users.deleteOne(

{_id:1}

)

Redis 예제

저장

SET user:1 홍길동

조회

GET user:1

삭제

DEL user:1

Scale Out

Server1

+

Server2

+

Server3

↓

Cluster

여러 서버를 추가하여 성능을 향상시킬 수 있다.


대표 활용 분야

  • SNS
  • 채팅 서비스
  • 로그 분석
  • IoT
  • AI 플랫폼
  • 캐시 서버
  • 추천 시스템
  • 빅데이터 처리

장점

  • 높은 확장성
  • 빠른 성능
  • 유연한 데이터 구조
  • JSON 저장 가능
  • 대용량 데이터 처리에 적합
  • 클라우드 환경에 적합

단점

  • JOIN 기능 제한
  • 데이터 중복 가능성
  • 복잡한 트랜잭션 처리에 불리
  • 제품마다 쿼리 문법이 다름
  • 관계형 데이터 관리에는 비효율적일 수 있음

RDBMS를 선택하는 경우

다음과 같은 상황에서는 RDBMS가 적합하다.

  • 금융 시스템
  • 회계 시스템
  • ERP
  • 주문 관리
  • 재고 관리
  • 데이터 무결성이 중요한 서비스

NoSQL을 선택하는 경우

다음과 같은 상황에서는 NoSQL이 적합하다.

  • 실시간 채팅
  • 캐시 서버
  • 로그 저장
  • SNS
  • 대용량 이벤트 데이터
  • AI 데이터 저장
  • IoT 플랫폼

실무 메모

실무에서는 다음과 같은 방식이 권장된다.

  • RDBMS와 NoSQL을 함께 사용하는 Hybrid 구조 고려
  • Redis는 캐시 용도로 활용
  • MongoDB는 JSON 데이터 저장에 적합
  • 데이터 중복을 고려한 설계
  • 샤딩(Sharding) 적용 검토
  • 복제(Replication) 구성
  • 백업 정책 수립
  • 모니터링 시스템 구축
  • 인덱스 최적화
  • TTL(Time To Live) 기능 활용

NoSQL과 함께 사용하는 기술


대표 관리 도구

  • MongoDB Compass
  • Redis Insight
  • Studio 3T
  • Robo 3T
  • NoSQLBooster

관련 문서


출처

  • MongoDB 공식 문서
  • Redis 공식 문서
  • NoSQL 관련 기술 문서