관계형 데이터베이스와 비관계형 데이터베이스

차이점

데이터베이스(DB) 는 크게 관계형 데잍터베이스(RDB, Relational Database)비관계형 데이터베이스(NoSQL, Not Only SQL) 로 나뉨.

  • RDB : Table 기반의 정형화된 데이터 저장

  • NoSQL : 비정형 데이터 또는 유연한 데이터 저장 방식 지원


1. 관계형 데이터베이스(RDB)

특징

  • 테이블(표) 기반의 데이터 저장

    ⇒ 행(Row)과 열(Column) 로 구성된 정형화 된 구조

  • SQL(Structured Query Language) 사용

    ⇒ 데이터를 조회, 삽입, 수정, 삭제하는 표준어

  • 트랜잭션(ACID) 지원

    ⇒ 데이터의 일관성과 무결성을 보장

  • 스키마(데이터 구조) 사전 정의 필요

    ⇒ 데이터를 저장하려면 미리 테이블과 컬럼을 정의해야 함

대표적인 RDBMS(관계형 DB 관리 시스템)

  • MySQL

  • PostgreSQL

  • MariaDB

  • Oracle DB

  • MS SQL Server


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

특징

  • 테이블이 아닌 다양한 데이터 저장 방식

    ⇒ JSON, Key-Value, Document, Graph 등 유연한 구조 지원

  • SQL 대신 NoSQL 쿼리 사용

    ⇒ SQL 문법이 아닌, 각 DB 마다 자체적인 쿼리 언어 사용

  • 수직/수평 확장(Scalability) 용이

    ⇒ 대량의 데이터를 빠르게 처리 가능

  • 유연한 스키마(Schema-less 또는 Dynamic Schema)

    ⇒ 데이터 구조를 사전에 정의하지 않아도 됨.

📌 대표적인 NoSQL 데이터베이스 유형

유형
특징
대표적인 DB

Key-Value

키-값 쌍 형태로 저장

Redis, DynamoDB

Document

JSON, BSON 형식

MongoDB, CouchDB

Column-Family

컬럼 기반 저장

Cassandra, HBase

Graph

노드 & 엣지 구조

Neo4j, ArangoDB

📌 NoSQL 예시 (MongoDB - Document 기반)

json복사편집{
  "id": 1,
  "이름": "김철수",
  "나이": 30,
  "이메일": "chulsoo@email.com"
}

JSON 형식으로 데이터를 저장하는 방식! (테이블 X)


3. 관계형 vs 비관계형 데이터베이스 비교

비교 항목
관계형 데이터베이스 (RDB)
비관계형 데이터베이스 (NoSQL)

데이터 구조

정형 데이터 (테이블 기반)

비정형 데이터 (JSON, Key-Value 등)

확장성

수직 확장(Scale-Up)

수평 확장(Scale-Out) 용이

쿼리 방식

SQL 사용

NoSQL 쿼리 또는 API 사용

트랜잭션(ACID)

✅ 강력한 지원

❌ 일부 지원 (BASE 모델)

스키마(정형성)

사전 정의 필요

유연한 스키마 (Schema-less)

속도 및 성능

복잡한 쿼리 최적화 가능

대량 데이터 처리에 강함

사용 사례

전통적인 웹 서비스 (은행, ERP 등)

빅데이터, 실시간 분석, 캐시 등

Last updated

Was this helpful?