chirpy-starter/_posts/Database/2025-05-09-RDBMS.md
2025-05-09 20:20:05 +09:00

2.6 KiB

published layout title categories tags
true post RDBMS
Database
RDBMS

RDBMS란?

**RDBMS(Relational Database Management System)**는 데이터를 행(row)과 열(column)로 구성된 테이블(table) 형태로 저장하고, 테이블 간 **관계(Relation)**를 설정하여 데이터를 효율적으로 관리하는 시스템

대표적인 RDBMS에는 MySQL, PostgreSQL, Oracle, SQL Server 등이 있음

주요 특징

  • 테이블 기반 구조: 데이터를 행과 열로 구성된 표 형식의 테이블에 저장
  • SQL 사용: 데이터를 정의하고 조회하는 데 SQL(Structured Query Language) 사용
  • 정규화: 중복을 줄이고 일관성을 높이기 위해 데이터 구조를 나누는 방식
  • ACID 트랜잭션 보장:
    • Atomicity (원자성)
    • Consistency (일관성)
    • Isolation (고립성)
    • Durability (지속성)
  • 스키마 기반 구조: 데이터의 구조(열 이름, 데이터 타입 등)를 미리 정의해야 함

RDBMS 장점

  • 데이터 정합성과 무결성 보장
  • 복잡한 관계형 데이터 모델링 가능
  • 트랜잭션 처리 신뢰성 확보 (ACID 지원)
  • 성숙한 생태계와 도구, 문서 지원

RDBMS 단점

  • 스키마 변경이 어려움: 구조가 고정되어 있음
  • 수평 확장 어려움: 서버 스펙을 올리는 방식(수직 확장)이 주가 됨
  • 비정형/대규모 데이터 처리에 불리함

RDBMS vs NoSQL

항목 RDBMS (Relational DB) NoSQL (Not Only SQL)
데이터 구조 테이블(행-열) 기반 문서, 키-값, 컬럼, 그래프 등
스키마 고정 스키마 필요 유연한 스키마, 자유로운 구조
확장성 수직 확장 중심 (서버 성능 업그레이드) 수평 확장 중심 (노드 추가)
쿼리 언어 SQL (표준 쿼리 언어) 시스템별 쿼리 방식 (예: MongoDB DSL)
정합성 ACID 트랜잭션 보장 BASE 모델 (가용성 중심)
성능 복잡한 쿼리에 강함 실시간 처리, 대규모 데이터에 강함
적합한 사례 금융, ERP, 인사, 회계 등 로그 수집, 채팅, 캐시, IoT 등

NoSQL 장점

  • 스키마 자유로움 → 구조 변경이 쉬움
  • 수평 확장 용이 → 고성능 분산 시스템 구성 가능
  • 대용량 데이터에 강함
  • Redis처럼 메모리 기반인 경우 초고속 응답

NoSQL 단점

  • 복잡한 JOIN, 트랜잭션 처리에 제약
  • 데이터 정합성 보장 어려움
  • 표준 쿼리 언어 부재 (학습 비용)