CS | 관계형 데이터베이스(RDBMS) vs 비관계형 데이터베이스(NoSQL)

성수당·2025년 7월 18일

나혼자 CS

목록 보기
11/24
post-thumbnail

🥔 데이터베이스의 두 축, RDB vs NoSQL

관계형 데이터베이스(RDBMS)비관계형 데이터베이스(NoSQL)는 데이터의 구조, 저장 방식, 활용 방식에 따라 나뉘는 대표적인 두 가지 유형이다. 데이터베이스를 선택할 때는 데이터의 특성과 사용 목적을 가장 먼저 고려해야 한다. 각 DB의 개념, 차이점, 그리고 언제 어떤 DB를 선택해야 할지에 대해 정리해보자.

🥔 관계형 데이터베이스 (Relational Database, RDB)

📌 개념

  • 데이터를 행(Row)열(Column)의 테이블 형태로 저장

  • 스키마(정해진 구조)를 기반으로 엄격하게 데이터를 관리

  • 테이블 간 관계(Join) 설정 가능 → 데이터 정합성 보장

🧪 특징

  • 정형화된 데이터 관리에 최적

  • 트랜잭션 처리 및 정합성(ACID)을 중요시

  • SQL을 이용한 쿼리 사용

✅ 대표적인 관계형 DB

  • MySQL : 가장 널리 사용되는 오픈소스 RDBMS

  • PostgreSQL : 확장성과 표준 준수에 강한 RDBMS

  • Oracle DB : 기업용, 강력한 상업용 DB

  • MS SQL Server : Microsoft의 관계형 DB

📎 사용 예

  • 쇼핑몰 주문/회원 DB

  • 금융 서비스, ERP 시스템

  • 게시판, 블로그, 관리자 시스템 등

🥔 비관계형 데이터베이스 (NoSQL)

📌 개념

  • 테이블 구조를 따르지 않음

  • 비정형 / 유동적인 데이터를 유연하게 저장 가능

  • 주로 JSON, Key-Value, Document, Column, Graph 기반

🧪 특징

  • 스키마가 자유로워 데이터 구조 변경이 쉬움

  • 수평 확장에 뛰어나 빅데이터/실시간 처리에 강함

  • ACID보다 가용성과 속도를 중시 (CAP 이론)

📎 사용 예

  • 실시간 채팅 서비스, SNS, 로그 저장

  • 캐싱 시스템, IoT 센서 데이터

  • 구조가 자주 변경되거나 대량의 분산 데이터 처리

✅ NoSQL의 4가지 유형 및 대표 DB

유형설명대표 DB
📄 Document 기반JSON 구조로 데이터 저장MongoDB, CouchDB
🔑 Key-Value 기반단순한 Key-Value 쌍 저장Redis, DynamoDB
📊 Column 기반대용량 분산 저장, 컬럼 단위 최적화Cassandra, HBase
🔗 Graph 기반관계 중심 데이터 저장Neo4j, ArangoDB

🥔 RDB vs NoSQL 비교 정리

항목관계형 DB (RDBMS)비관계형 DB (NoSQL)
데이터 구조테이블 기반문서/키-값/그래프 등 다양
스키마고정 (사전 정의 필수)유동적 (스키마 없음)
관계 설정JOIN 등 가능대부분 불가 또는 비효율적
트랜잭션강력한 ACID 보장BASE, 일관성 낮음
확장성수직 확장 위주수평 확장에 유리
사용 언어SQL자체 쿼리 방식 (MongoQL 등)
성능복잡한 관계 처리에 유리대용량 데이터 처리에 유리
활용 사례금융, 전자상거래, 관리 시스템실시간 로그, SNS, 분산 시스템

🥔 어떤 DB를 선택할까?

상황추천 DB
데이터 정합성과 보안이 중요한 시스템✅ RDB (MySQL, PostgreSQL 등)
데이터 구조가 자주 바뀌거나 유동적인 경우✅ NoSQL (MongoDB 등)
수평 확장 및 실시간 처리 우선✅ NoSQL
복잡한 쿼리, JOIN이 많은 경우✅ RDB
profile
말하는 감자🥔

0개의 댓글