저장소 logo 저장소

1. RDB와 NoSQL 개념

데이터베이스는 크게 관계형 데이터베이스(RDB)비관계형 데이터베이스(NoSQL)로 구분.

RDB (Relational Database)
테이블 기반 구조를 사용하는 데이터베이스.
사전에 정의된 Schema(스키마) 기반 데이터 저장 방식.

NoSQL (Not Only SQL)
관계형 모델을 사용하지 않는 비관계형 데이터베이스.
유연한 데이터 구조와 높은 확장성을 목표로 설계된 데이터 저장 방식.


2. 데이터 모델 구조

RDB

NoSQL

대표적인 NoSQL 데이터 모델


3. RDB vs NoSQL 주요 차이

구분 RDB (SQL) NoSQL
데이터 모델 Table 기반 Document / Key-value / Graph
Schema 사전 정의된 Schema 유연한 Schema
데이터 구조 정형 데이터 중심 비정형 / 반정형 데이터
확장 방식 수직 확장 중심 (Scale-up) 수평 확장 중심 (Scale-out)
트랜잭션 강한 ACID 보장 일부 시스템에서 제한적 지원

4. 장점 / 단점 비교

구분 RDB NoSQL
장점 - 명확한 데이터 구조
- 데이터 무결성 보장
- 트랜잭션 처리 강점
- 유연한 데이터 구조
- 수평 확장 용이
- 대용량 데이터 처리
단점 - Schema 변경 어려움
- 시스템 확장 비용 증가
- JOIN 쿼리 증가 가능
- 데이터 중복 가능성
- 무결성 관리 어려움
- 관계 데이터 처리 제한

5. Scale-up vs Scale-out

Scale-up (수직 확장)

서버의 CPU, RAM, Storage 성능 증가 방식.

특징

주로 RDB 시스템에서 사용되는 확장 방식.


Scale-out (수평 확장)

여러 서버를 추가하여 데이터를 분산 처리하는 방식.

특징

주로 NoSQL 시스템에서 활용되는 확장 방식.


6. 사용 상황

구분 사용 환경
RDB 데이터 구조가 명확한 시스템
데이터 무결성이 중요한 서비스
데이터 수정(Update)이 잦은 시스템
NoSQL 데이터 구조가 유동적인 서비스
대규모 트래픽 처리 시스템
조회(Read)가 많은 서비스

예시


핵심 정리

RDB

  • 테이블 기반 데이터 구조
  • 강한 데이터 무결성
  • 트랜잭션 중심 시스템

NoSQL

  • 유연한 데이터 구조
  • 수평 확장 중심
  • 대규모 데이터 처리에 적합

한 줄 정리

  • 데이터 무결성과 트랜잭션 중요 → RDB
  • 대규모 데이터와 확장성 중요 → NoSQL

« Inner Join vs Left Out...
Transaction »