🌍 데이터베이스의 큰 분류
DB는 크게 2가지 미션에 따라 나뉘어:
1. OLTP (Online Transaction Processing)
→ 온라인 서비스의 “실시간 거래/처리” 중심 (회원가입, 결제, 주문 같은 거).
→ 정확성, 빠른 쓰기·읽기가 중요.
2. OLAP (Online Analytical Processing)
→ “분석/리포트/집계” 중심 (매출 분석, 빅데이터 통계).
→ 대량 데이터, 빠른 읽기·집계가 중요.
1️⃣ 관계형 데이터베이스 (RDBMS)
행(Row)과 열(Column)로 이루어진 테이블 기반. SQL 언어로 다룸.
대표:
MySQL (웹 서비스에 최적, 쉬움)
MariaDB (MySQL의 오픈소스 강화판)
PostgreSQL (가장 표준 SQL에 충실, 복잡한 서비스 강함)
Oracle DB (기업에서 최강, 안정성·보안 최고, 단 비쌈)
MS SQL Server (윈도우 환경, 기업 ERP·회계용)
IBM Db2 (금융, 보험 등 초대형 기관)
2️⃣ NoSQL 데이터베이스
“Not Only SQL” = 관계형 한계를 넘어서 자유로운 데이터 모델.
종류에 따라 나뉨:
1. 문서(Document) DB
JSON 형태로 저장 → 유연하고 스키마 자유로움.
예: MongoDB, CouchDB
2. 키-값(Key-Value) DB
키-값 쌍 저장 → 캐시, 세션 저장에 초고속.
예: Redis, DynamoDB
3. 컬럼(Columnar) DB
행이 아니라 열 단위로 저장 → 분석/집계에 최적.
예: Cassandra, HBase
4. 그래프(Graph) DB
노드와 관계(엣지)로 저장 → SNS, 추천, 네트워크 분석.
예: Neo4j, Amazon Neptune
3️⃣ NewSQL (차세대 SQL DB)
RDBMS의 SQL과 ACID 안정성 + NoSQL의 확장성을 합친 하이브리드.
예: Google Spanner, CockroachDB, TiDB
4️⃣ 특수 목적 DB
특정 상황 전용.
시계열(Time-series) DB: 센서/로그/IoT 데이터 → InfluxDB, TimescaleDB
검색(Search) DB: 텍스트 검색 최적화 → Elasticsearch, OpenSearch
OLAP용 데이터 웨어하우스: 대규모 분석 → Snowflake, BigQuery, Redshift
5️⃣ 클라우드 전용 관리형 DB
AWS, GCP, Azure 같은 클라우드에서 제공하는 “관리형 서비스” (자동 백업, 확장성).
AWS: Aurora(MySQL/Postgres 호환), Redshift(분석)
GCP: BigQuery(분석), Spanner(글로벌 RDB)
Azure: Cosmos DB(멀티모델)
🚩 최종 정리
RDBMS → 전통 SQL 기반 (MySQL, PostgreSQL, Oracle 등).
NoSQL → 자유로운 데이터 구조 (MongoDB, Redis, Cassandra 등).
NewSQL → SQL + 확장성 (Spanner, CockroachDB).
특수 목적 DB → 시계열, 그래프, 검색 전용.
클라우드 DB → 관리형, 확장 자동화.