관계형 데이터베이스와 비관계형 데이터베이스
차이점
데이터베이스(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 데이터베이스 유형
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 비관계형 데이터베이스 비교
데이터 구조
정형 데이터 (테이블 기반)
비정형 데이터 (JSON, Key-Value 등)
확장성
수직 확장(Scale-Up)
수평 확장(Scale-Out) 용이
쿼리 방식
SQL 사용
NoSQL 쿼리 또는 API 사용
트랜잭션(ACID)
✅ 강력한 지원
❌ 일부 지원 (BASE 모델)
스키마(정형성)
사전 정의 필요
유연한 스키마 (Schema-less)
속도 및 성능
복잡한 쿼리 최적화 가능
대량 데이터 처리에 강함
사용 사례
전통적인 웹 서비스 (은행, ERP 등)
빅데이터, 실시간 분석, 캐시 등
Last updated
Was this helpful?