IT

RDBMS 와 NoSQL 비교해 보기

hoonylab 2025. 4. 17. 14:31
728x90
반응형

🔍 RDBMS vs NoSQL 차이점

항목 RDBMS (Relational DBMS) NoSQL (Not Only SQL)
데이터 모델 테이블 기반 (행/열) 문서, 키-값, 그래프, 컬럼 기반 등
스키마 고정 스키마 (정해진 구조) 유연한 스키마 또는 스키마 없음
확장성 수직 확장 (서버 스펙 업) 수평 확장 (서버를 여러 개로 분산)
트랜잭션 ACID 보장 (정합성 우선) 대부분 Eventually Consistent (속도 우선)
쿼리 언어 SQL 전용 API, 쿼리 언어 다양
관계 테이블 간의 JOIN 가능 JOIN 지원 안 하거나 제한적

🛠️ 대표적인 툴 예시

RDBMS

  • MySQL: 오픈소스, 웹 서비스에서 많이 사용
  • PostgreSQL: 오픈소스, 기능 풍부 (JSON 지원 등도 있음)
  • Oracle DB: 기업에서 많이 사용하는 상용 DB
  • Microsoft SQL Server: 마이크로소프트 생태계와 연동 용이

NoSQL

  • MongoDB: 문서형, JSON 형식 데이터를 자유롭게 저장
  • Redis: 키-값 저장소, 빠른 캐시 및 세션 관리에 유리
  • Cassandra: 분산 환경에 강한 컬럼형 DB
  • Neo4j: 그래프형 DB, 복잡한 관계형 데이터에 적합

✅ 장단점 비교

분류 장점 단점
RDBMS - 데이터 정합성 우수
- 복잡한 쿼리 및 JOIN 지원
- 다양한 툴과 호환성 높음
- 유연성 부족 (스키마 변경 어려움)
- 수평 확장 어려움
- 대용량 데이터 처리 시 성능 저하
NoSQL - 스키마 유연
- 대용량 데이터 처리에 적합
- 수평 확장 용이
- 정합성 보장 어려움
- 복잡한 쿼리나 관계 표현 어려움
- SQL처럼 통일된 쿼리 언어 부족

🎯 상황별 추천

상황 추천 DB
정형 데이터 + 관계형 구조 + 정합성 중요 RDBMS (예: MySQL, PostgreSQL)
유연한 데이터 구조 + 빠른 개발 NoSQL (예: MongoDB)
대규모 분산 시스템 + 빠른 읽기/쓰기 NoSQL (예: Cassandra)
실시간 캐싱, 세션 저장소 NoSQL (예: Redis)
복잡한 관계 탐색 (소셜 그래프 등) NoSQL (예: Neo4j)
728x90
반응형