[Database] 🔎 RDBMS와 NoSQL의 차이점

2025. 3. 9. 16:35·CS/Database
728x90
반응형

데이터베이스는 모든 시스템의 핵심입니다. 우리가 앱에서 로그인할 때, 상품을 검색할 때, 혹은 SNS에서 친구의 게시글을 볼 때도 데이터베이스는 항상 뒤에서 작동하고 있습니다.
이번 포스팅에서는 두 가지 대표적인 데이터베이스 관리 시스템인 RDBMS와 NoSQL의 차이를 명확하게 비교해보려 합니다.


🧱 Database, DBMS, SQL 간단 정리

 

  • Database: 데이터를 구조화하여 저장한 집합체
  • DBMS (Database Management System): 데이터를 저장하고 관리하는 소프트웨어
  • SQL (Structured Query Language): 관계형 데이터베이스에서 데이터를 다루기 위한 언어

🗂️ RDBMS란?

RDBMS (Relational DataBase Management System)는 데이터를 정해진 스키마에 따라 2차원 테이블(행과 열)로 저장하는 데이터베이스 시스템입니다.

  • 관계형 모델 기반
  • 테이블 간 관계를 외래 키(Foreign Key)로 맺음
  • 대표 시스템: MySQL, PostgreSQL, Oracle, MS-SQL

📌 주요 특징:

  • 데이터 정합성과 무결성 보장
  • JOIN을 통한 복잡한 관계형 쿼리 가능
  • ACID 트랜잭션 보장

🧩 NoSQL이란?

NoSQL (Not Only SQL)은 비관계형 데이터베이스로, 다양한 데이터 구조를 저장할 수 있도록 설계된 시스템입니다.

  • 스키마가 없거나 유연함
  • 수평 확장(Scale-Out)이 용이
  • 대표 시스템: MongoDB, Redis, Cassandra, Neo4j

📌 4가지 주요 유형:

  1. Key-Value Store – ex) Redis, DynamoDB
    👉 빠른 검색과 단순한 구조
  2. Document Store – ex) MongoDB
    👉 JSON 기반 문서 저장, 객체와 유사
  3. Wide-Column Store – ex) Cassandra, HBase
    👉 열 기반 저장, 대용량 데이터 처리에 강함
  4. Graph DB – ex) Neo4j
    👉 노드와 엣지 기반, 소셜 그래프나 추천 시스템에 적합

⚖️ RDBMS vs NoSQL 비교

항목 RDBMS NoSQL
데이터 구조 고정도니 스키마(테이블) 유연한 구조(스키마 없음 또는 느슨함)
관계 설정 외래 키로 테이블 간 관계 설정 관계 없음(또는 어플리케이션에서 처리)
확장성 Scale-Up(서버 성능 향상) Scale-Out(서버 분산 처리)
데이터 정합성 강한 정합성(ACID 보장) 일관성보단 가용성 및 분산을 우선(CAP 이론)
사용 사례 금융, ERP, CRM 등 정형 데이터 SNS, 빅데이터, IoT 등 비정형 데이터
예시 MySQL, Oracle, PostgreSQL MongoDB, Redis, Cassandra, Neo4j

✅ 언제 어떤 DB를 선택해야 할까?

 

  • RDBMS
    • 데이터 구조가 명확하고 변경이 적다
    • 데이터 무결성과 정합성이 중요하다
  • NoSQL
    • 비정형 데이터가 많고 자주 바뀐다
    • 수평적 확장이 필요하다
    • 빠른 읽기/쓰기와 유연한 구조가 필요하다

📌 정리

  • RDBMS는 전통적인 데이터베이스로, 정형화된 데이터를 다룰 때 탁월한 안정성과 신뢰성을 제공합니다.
  • NoSQL은 현대의 대용량, 고속 처리 요구를 충족시키기 위한 선택지로, 유연성과 확장성이 강점입니다.

 

다음 포스팅에서는 MongoDB를 직접 사용해보며 NoSQL의 실전 사용법을 소개해드릴게요! 😎
궁금한 점이나 피드백은 댓글로 남겨주세요 💬

728x90
반응형
저작자표시 비영리 변경금지 (새창열림)

'CS > Database' 카테고리의 다른 글

[Database] OLTP vs OLAP: 개발자라면 꼭 알아야 할 데이터 처리 방식  (0) 2025.03.09
[error][mysql/mariadb] Error executing DDL "alter table .. drop foreign key if exists...  (0) 2024.02.23
soft delete 와 hard delete 란?  (0) 2024.02.04
'CS/Database' 카테고리의 다른 글
  • [Database] OLTP vs OLAP: 개발자라면 꼭 알아야 할 데이터 처리 방식
  • [error][mysql/mariadb] Error executing DDL "alter table .. drop foreign key if exists...
  • soft delete 와 hard delete 란?
예롱메롱
예롱메롱
  • 예롱메롱
    예롱이의 개발 블로그
    예롱메롱
  • 전체
    오늘
    어제
    • 전체보기 (274)
      • 프로젝트 (35)
        • Wedle (12)
        • 인스타그램 클론 코딩 (13)
        • 스프링 부트와 AWS로 혼자 구현하는 웹 서비스 (10)
      • 인프런 Spring 강의 정리 (79)
        • 스프링 입문 - 코드로 배우는 스프링 부트, 웹 .. (7)
        • Spring 핵심 원리 - 기본편 (9)
        • 모든 개발자를 위한 HTTP 웹 기본 지식 (8)
        • 자바 ORM 표준 JPA 프로그래밍 - 기본편 (11)
        • 실전! 스프링 부트와 JPA 활용1 - 웹 애플리.. (6)
        • 실전! 스프링 부트와 JPA 활용2 - API 개.. (5)
        • 실전! 스프링 데이터 JPA (7)
        • 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 (7)
        • 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 (11)
        • 실전! Querydsl (8)
      • Cloud (3)
      • Spring (6)
        • spring boot (5)
        • 소셜로그인 (1)
      • Docker (2)
      • DevOps (0)
      • Coding Test (114)
        • Programmers (37)
        • Baekjoon (76)
      • KB It's Your Life 6기 (1)
      • CS (18)
        • 알고리즘 (13)
        • 컴퓨터 구조 (1)
        • Operating System (0)
        • Network (0)
        • Database (4)
      • git (1)
      • Language (15)
        • Java (5)
        • C++ (6)
        • Python (4)
    • GITHUB GITHUB
    • INSTAGRAM INSTAGRAM
  • hELLO· Designed By정상우.v4.10.3
예롱메롱
[Database] 🔎 RDBMS와 NoSQL의 차이점
상단으로

티스토리툴바