CS/Database

[Database] 🔎 RDBMS와 NoSQL의 차이점

예롱메롱 2025. 3. 9. 16:35
728x90
반응형

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


🧱 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
반응형