1. 데이터베이스 분류 개요

데이터베이스는 데이터 구조 + 접근 방식 + 확장 방법에 따라 분류한다.

실무에서는 보통 다음 3단계로 사고한다 ① 데이터 구조 → ② 트랜잭션 요구 → ③ 확장/운영 방식


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

2.1 개념

  • 행(Row)과 열(Column) 기반의 정형 데이터
  • 테이블 간 관계(Relationship) 를 명확히 정의
  • SQL 사용

2.2 핵심 특징

  • 스키마 고정 (Schema-on-write)
  • ACID 트랜잭션 보장
  • JOIN 가능
  • 데이터 무결성 매우 강함

2.3 대표 DB

  • MySQL
  • PostgreSQL
  • Oracle Database
  • MariaDB

2.4 언제 사용?

  • 금융, 결제, 주문, 회원 관리
  • 데이터 정합성이 가장 중요한 시스템

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

3.1 개념

  • 관계보다는 확장성과 유연성 중심
  • JOIN 없음 또는 제한적
  • 대규모 분산 환경에 최적화

3.2 공통 특징

  • Schema-less 또는 Schema-on-read
  • 수평 확장(Scale-out) 쉬움
  • ACID 대신 BASE 모델 채택

4. NoSQL 세부 유형

4.1 Key-Value Store


특징

  • key → value 단순 구조
  • 초고속 조회
  • 데이터 구조 단순

대표 DB

  • Redis
  • Amazon DynamoDB
  • etcd

사용 사례

  • 캐시
  • 세션 저장소
  • 토큰 관리

4.2 Document Store

특징

  • JSON / BSON 문서 구조
  • 컬럼 고정 X
  • 애플리케이션 친화적

대표 DB

  • MongoDB
  • Amazon DocumentDB

사용 사례

  • 로그 데이터
  • 사용자 프로필
  • CMS, API 서버

4.3 Wide Column Store

특징

  • 컬럼 단위 저장
  • 대용량 쓰기/읽기 성능 우수
  • RDB처럼 보이지만 JOIN 없음

대표 DB

  • Apache Cassandra
  • HBase

사용 사례

  • 로그 분석
  • IoT 데이터
  • 타임시리즈 데이터

4.4 Graph Database

특징

  • Node + Edge 구조
  • 관계 탐색에 특화
  • JOIN 대신 그래프 탐색

대표 DB

  • Neo4j

사용 사례

  • SNS 친구 추천
  • 추천 시스템
  • 네트워크 토폴로지 분석

5. 인메모리 데이터베이스 (In-Memory DB)

특징

  • 디스크가 아닌 RAM 기반
  • 매우 빠름
  • 영속성은 선택 사항

대표

  • Redis
  • Memcached

사용

  • 캐시 계층
  • DB 부하 감소용

6. 클라우드 관리형 데이터베이스 (DBaaS)

개념

  • 설치/백업/패치/확장 자동화
  • 인프라 엔지니어의 운영 부담 감소

대표

  • Amazon RDS
  • Amazon Aurora
  • Google Cloud Spanner

7. 데이터베이스 선택 기준

기준선택 방향
트랜잭션 중요RDB
스키마 유연Document DB
초고속 조회Key-Value
대규모 분산NoSQL
관계 탐색Graph
운영 최소화Managed DB

8. DB 포지션

AWS / Kubernetes / Network
  ├ CloudWatch Logs
  ├ VPC Flow Logs
  ├ ALB Logs
  ├ Billing
        ↓
PostgreSQL  → 로그·메트릭·이벤트·임베딩
DynamoDB   → 알람 상태·룰·트래킹
MySQL     → 계정·프로젝트·정책·비용 기준
Redis     → 실시간 상태·쿼리 캐시