NoSQL 완벽 정리 (RDB와 차이까지 한 번에)

최근 백엔드와 대규모 서비스에서 자주 사용되는 것이 바로 NoSQL입니다.
 RDB와 함께 반드시 알아야 할 데이터베이스 개념입니다.


 NoSQL이란?

Not Only SQL의 약자로,
관계형이 아닌 방식으로 데이터를 저장하는 데이터베이스

  • 테이블(관계) 구조 ❌
  • 자유로운 데이터 구조 ⭕

 NoSQL 특징

🔹 스키마 없음 (Schema-less)

  • 정해진 구조 없이 데이터 저장 가능
     JSON처럼 유연한 구조

🔹 수평 확장 (Scale-out)

  • 서버를 여러 대로 늘려 성능 향상
     대용량 처리에 유리

🔹 빠른 처리 속도

  • 단순 구조 → 빠른 읽기/쓰기

 NoSQL 종류

1. Key-Value 방식

 가장 단순한 구조

  • 예: Redis

2. Document 방식

 JSON 형태 데이터 저장

  • 예: MongoDB

3. Column 방식

 컬럼 단위 저장

  • 예: Cassandra

4. Graph 방식

 관계 중심 데이터

  • 예: Neo4j

🛠 언제 사용할까?

  • 실시간 데이터 처리 (채팅, 알림)
  • 빅데이터 처리
  • 유연한 구조가 필요한 경우
  • 트래픽이 많은 서비스

NoSQL vs RDB

구분NoSQLRDB

구조 자유 테이블
스키마 없음 있음
확장성 수평 확장 수직 확장
일관성 약함 (유연) 강함
사용 대규모/실시간 안정적 데이터

⚠️ 단점

  • 데이터 일관성 약함
  • 복잡한 JOIN 어려움
  • 트랜잭션 처리 제한적

한 줄 정리

NoSQL = 유연하고 빠른 대규모 데이터 처리를 위한 비관계형 DB


마무리

NoSQL은 RDB를 대체하는 개념이 아니라
상황에 따라 함께 사용하는 기술입니다.

  • 정확성 중요 → RDB
  • 속도/확장성 중요 → NoSQL

 이렇게 구분해서 사용하면 됩니다.