RDBMS VS NoSQL

mangez_js·2024년 12월 2일

Study

목록 보기
22/47

RDBMS(Relational Database Management System)

관계형 데이터베이스, 데이터를 테이블 형태로 저장하고 관리합니다.
SQL을 사용하며 데이터를 정의하고 조작합니다.

특징

  • 스키마 기반
    ∘ 데이터를 저장하기 전에 미리 테이블 구조(스키마)를 정의해야 합니다.
  • 정규화
    ∘ 중복 데이터를 줄이고 데이터 무결성을 유지합니다.
  • ACID 지원
    ∘ 트랜잭션에서 데이터의 일관성, 격리성, 영속성을 보장합니다.
  • 관계 기반
    ∘ 여러 테이블 간의 관곌르 키(Foreign Key)로 정의하여 데이터 연결을 유지합니다.

장점

  • 데이터 무결성 보장
  • 복잡한 쿼리와 관계 기반 데이터 모델링에 강함
  • 표준화된 SQL 사용으로 학습과 사용이 용이

단점

  • 스키마 변경 시 복잡성 증가
  • 대규모 데이터를 처리할 때 성능 저하
  • 유연성이 낮아 비정형 데이터 저장에 부적합

Example

은행, ERP 시스템, CRM, 회계 시스템 등 데이터 무결성과 복잡한 관계가 중요한 경우

NoSQL(Not Only SQL)

관계형 데이터베이스 외의 데이터 저장소를 의미하며, 다양한 데이터 모델을 지원합니다.
비정형 데이터나 대량의 데이터를 처리하는 데 적합합니다.

특징

  • 스키마리스
    ∘ 사전 정의된 스키마 없이 데이터를 저장 가능
  • 유연한 데이터 모델
    ∘ 키-값(Key-Value), 문서, 열, 그래프 모델 등 다양한 데이터 저장 방식을 지원
  • 확장성
    ∘ 수평적 확장(서버 추가)으로 대규모 데이터 처리에 강함
  • CAP 이론
    ∘ 일관성, 가용성, 파티션 허용성 중 하나를 희생하는 설계

장점

  • 유연한 스키마로 빠른 개발 가능
  • 대량의 데이터와 고속 처리에 적합
  • 비정형 데이터(ex) JSON, XML) 저장 가능

단점

  • 트랜잭션 지원 제한(NoSQL 일부한 ACID 지원)
  • 관계형 쿼리 부족(JOIN 등 지원 어려움)
  • 표준화된 쿼리 언어 부재(SQL 미지원)

Example

소셜 미디어, IoT, 로그 데이터 분석, 실시간 추천 시스템 등 대규모 데이터 처리에 최적화된 환경

RDBMS VS NoSQL

항목RDBMSNoSQL
데이터 모델테이블 기반키-값, 문서, 그래프, 컬럼 기반
스키마고정 스키마유연한 스키마
확장성수직 확장(하드웨어 업그레이드)수평 확장(서버 추가)
쿼리 언어SQL데이터베이스마다 다름
ACID완벽 지원일부 지원(NoSQL에 따라 다름
성능작은 데이터셋에서 우수대규모 데이터셋에서 우수
유형의 유연성구조화된 데이터에 적합비정형 데이터에 적합
사용 사례은행, ERP, 회계 시스템소셜 미디어, IoT, 빅데이터 분석

0개의 댓글