Database Systems and Data Management

데이터베이스 시스템은 현대 디지털 환경에서 모든 정보의 저장소 역할을 담당하는 핵심 기술이다. DBMS 소프트웨어 위에서 데이터 저장, 조회, 트랜잭션 처리, 동시 제어, 회복, 보안을 수행한다. 관계형, NoSQL, 계층형, 네트워크형 등 다양한 데이터 모델을 제공하며, 3 계층 아키텍처를 통해 데이터 독립성과 보안을 확보한다. 트랜잭션 처리, 동시성 제어, 백업 및 복구 등의 기능을 통해 데이터 무결성과 일관성을 보장하며, 인덱싱과 쿼리 최적화를 통해 성능을 향상시킨다. 설계 시에는 스키마 설계, 인덱싱, 파티셔닝, 샤딩, 캐싱, 데이터 확장성, CAP 정리 등을 고려해야 한다.

핵심 개념

카테고리용어정의 및 설명관련 기술/개념
1. 기본 개념 및 구조데이터베이스 (Database)구조화된 데이터를 저장하고 조직화된 형태로 관리하는 시스템관계형 DB, NoSQL
DBMS데이터 정의, 조작, 무결성, 보안, 동시성 등을 제어하는 소프트웨어MySQL, PostgreSQL, MongoDB
스키마 (Schema)데이터베이스 구조 (테이블, 열, 타입 등) 및 제약조건을 정의하는 설계도ANSI-SPARC 3 층 구조 (외부, 개념, 내부)
메타데이터 (Metadata)데이터에 대한 정보 (구조, 출처, 사용 이력 등) 를 담은 데이터Data Catalog, Data Lineage
2. 데이터 모델 및 종류데이터 모델 (Data Model)데이터를 어떻게 표현할 것인지에 대한 논리적 구조. 관계형, 문서형, 키 - 값형, 그래프형 등으로 구분됨RDBMS, NoSQL, 객체지향 DB
관계형 DB테이블 기반, 고정 스키마, SQL 기반 질의 사용, 정규화 적용 가능MySQL, Oracle, SQL Server
NoSQL DB유연한 스키마, 수평 확장 가능, 문서/키 - 값/열 기반/그래프 기반 등 다양한 데이터 구조 지원MongoDB, Redis, Cassandra, Neo4j
CAP 이론분산 시스템에서 Consistency, Availability, Partition tolerance 중 두 가지만 보장할 수 있음CP/CA/AP 트레이드오프 설계
ACID / BASE 모델트랜잭션 안정성을 보장하는 ACID (전통 RDBMS) vs. 가용성과 유연성 중심의 BASE (NoSQL) 모델PostgreSQL(ACID), Cassandra(BASE)
3. 트랜잭션 및 무결성트랜잭션 (Transaction)데이터베이스 상태를 변화시키는 작업의 논리적 단위. ACID 속성을 통해 신뢰성 확보COMMIT, ROLLBACK, SAVEPOINT
ACID 속성원자성, 일관성, 고립성, 지속성을 갖는 트랜잭션 속성WAL(Write-Ahead Logging), Undo/Redo
데이터 무결성 (Integrity)데이터의 정확성, 일관성을 보장하기 위한 제약조건 시스템제약조건: PRIMARY KEY, FOREIGN KEY, CHECK 등
정규화 (Normalization)중복 제거 및 무결성 보장을 위한 데이터베이스 설계 방법론1NF, 2NF, 3NF, BCNF
4. 쿼리 및 성능 최적화쿼리 언어 (Query Language)데이터를 조회, 삽입, 수정, 삭제하는 명령어 집합 (대표: SQL)DDL, DML, DCL, TCL
인덱스 (Index)데이터 검색 성능 향상을 위해 사용하는 자료 구조 (B-Tree, Hash 등)Composite Index, Covering Index, Full Text Index
쿼리 최적화 (Query Optimization)실행 계획 (Execution Plan) 분석을 통한 성능 개선 기법EXPLAIN, ANALYZE, CBO (Cost-Based Optimizer)
5. 동시성 및 분산 처리동시성 제어 (Concurrency Control)여러 트랜잭션이 동시에 실행될 때 데이터 일관성을 보장하기 위한 메커니즘Lock, MVCC, Timestamp Ordering
락킹 (Locking)동시성 문제를 방지하기 위해 리소스를 잠그는 제어 방식Shared/Exclusive Lock, Deadlock
데드락 (Deadlock)트랜잭션 간 순환 대기가 발생하여 서로 진행할 수 없는 상태Wait-for Graph, 타임아웃, Lock Escalation
샤딩 (Sharding)데이터를 수평 분할하여 분산 저장 및 처리하는 방식Hash/Range Sharding, Shard Key
레플리케이션 (Replication)데이터의 가용성과 안정성을 위해 여러 노드에 동일 데이터를 복제Master-Slave, Multi-Master, Eventually Consistent

배경

데이터베이스 시스템은 1960 년대 파일 시스템의 한계를 극복하기 위해 개발되었다. 초기 계층형 모델에서 시작하여 1970 년대 에드가 코드 (Edgar F. Codd) 의 관계형 모델 제안으로 혁신을 이루었고, 1990 년대 객체지향 데이터베이스, 2000 년대 NoSQL 데이터베이스로 진화하여 현재에 이르고 있다.

목적 및 필요성

주요 기능 및 역할

데이터 관리 기능:

시스템 기능:

특징

핵심 원칙

주요 원리

관계형 모델의 원리

graph TD
    A[관계형 모델] --> B[테이블 구조]
    A --> C[키 개념]
    A --> D[관계 연산]
    
    B --> B1[행/레코드]
    B --> B2[열/속성]
    B --> B3[도메인]
    
    C --> C1[기본키]
    C --> C2[외래키]
    C --> C3[후보키]
    
    D --> D1[선택]
    D --> D2[투영]
    D --> D3[조인]

트랜잭션 처리 원리

stateDiagram-v2
    [*] --> Active: 트랜잭션 시작
    Active --> PartiallyCommitted: 마지막 연산 실행
    PartiallyCommitted --> Committed: 커밋 성공
    PartiallyCommitted --> Failed: 커밋 실패
    Active --> Failed: 연산 실패
    Failed --> Aborted: 롤백
    Aborted --> [*]: 트랜잭션 종료
    Committed --> [*]: 트랜잭션 종료

작동 원리

쿼리 처리 과정

flowchart TD
    A[SQL 쿼리 입력] --> B[구문 분석]
    B --> C[의미 분석]
    C --> D[쿼리 최적화]
    D --> E[실행 계획 생성]
    E --> F[실행 엔진]
    F --> G[스토리지 엔진]
    G --> H[결과 반환]
    
    D --> D1[비용 기반 최적화]
    D --> D2[인덱스 선택]
    D --> D3[조인 순서 결정]

동시성 제어 원리

sequenceDiagram
    participant T1 as 트랜잭션 1
    participant LM as 락 매니저
    participant DB as 데이터베이스
    participant T2 as 트랜잭션 2
    
    T1->>LM: 데이터 A 읽기 락 요청
    LM->>T1: 락 승인
    T1->>DB: 데이터 A 읽기
    T2->>LM: 데이터 A 쓰기 락 요청
    LM->>T2: 대기
    T1->>LM: 락 해제
    LM->>T2: 락 승인
    T2->>DB: 데이터 A 수정

구조 및 아키텍처

구성 요소 정리

구분구성 요소기능 및 역할
핵심 계층데이터베이스 엔진SQL 쿼리 처리, 데이터 저장/검색, 트랜잭션 실행 전반을 담당
쿼리 프로세서SQL 파싱 → 실행 계획 수립 → 옵티마이저 → 실행 단계 수행
트랜잭션 관리자트랜잭션의 ACID 속성 보장, 커밋/롤백/복구 관리
락 매니저동시성 제어를 위해 테이블/행 락, 데드락 탐지 및 해결
버퍼 매니저디스크 I/O 최소화를 위한 캐시 관리 (데이터 페이지 로딩/교체)
로그 매니저트랜잭션 실행 로그 기록 (WAL), 복구 시 Undo/Redo 기능 수행
저장 관리자데이터 파일, 인덱스, 내부 구조 관리
데이터 사전테이블/인덱스/제약조건/사용자 권한 등 메타데이터 저장 및 관리
확장 구성 요소인덱스 엔진B+ Tree, Hash 등 구조 기반으로 인덱스 생성/탐색
파티셔닝/샤딩 관리자테이블을 수평 또는 수직 분할하여 분산 처리 가능
레플리케이션 관리자데이터 고가용성 확보를 위한 복제 구성 관리
캐시 레이어외부 인메모리 캐시 시스템과 연동 (예: Redis, Memcached)
미들웨어클라이언트와 DBMS 간 통신, API 연동, 데이터 통합 인터페이스
백업/복구 도구시스템 장애/오류 발생 시 빠른 복구 지원
클라우드/분산 컴포넌트노드 간 분산 저장, 멀티 리전 복제, 스토리지 확장성 확보

구성 요소 기반 아키텍처 설명

계층 구조 개요 (ANSI-SPARC 기반 확장 모델)

  1. 외부 계층 (External Level)
    • 사용자별 맞춤 뷰 제공 (예: 앱, 대시보드)
  2. 개념 계층 (Conceptual Level)
    • 전체 논리 스키마 정의 (테이블, 관계, 제약조건)
  3. 내부 계층 (Internal Level)
    • 인덱스, 버퍼, 저장 포맷, 물리 저장소 설계

동작 경로 예시 (트랜잭션 흐름)

  1. 사용자가 SQL 전송
  2. 쿼리 프로세서 가 파싱/최적화 → 실행 계획 수립
  3. 트랜잭션 관리자 가 트랜잭션 시작 및 로그 기록
  4. 락 매니저 가 필요한 자원 잠금
  5. 버퍼 매니저 를 통해 디스크에서 데이터 로딩
  6. 처리 완료 후 커밋/롤백, 로그 매니저 가 결과 저장
  7. 저장 관리자 가 물리 파일에 영구 저장
  8. 데이터 사전 이 관련 메타데이터 업데이트

아키텍처 다이어그램

사용자 → DBMS 내부 구조까지 포함

flowchart TD
    A[사용자 / 애플리케이션] --> B[SQL 쿼리 / 트랜잭션 요청]

    subgraph DBMS Core
        B --> QP[쿼리 프로세서]
        QP --> TM[트랜잭션 관리자]
        TM --> LM[락 매니저]
        TM --> LG[로그 매니저]
        TM --> BM[버퍼 매니저]
        QP --> DD[데이터 사전]

        BM --> SE[저장 관리자]
        SE --> DS[디스크 저장소 / 인덱스 / 파일]
    end

    subgraph 확장 계층
        DD --> IDX[인덱스 엔진]
        DD --> PS[파티셔닝/샤딩 모듈]
        DD --> RP[레플리케이션 모듈]
        SE --> CACHE["외부 캐시 (Redis)"]
    end

    B -.-> MW[미들웨어/API 게이트웨이]

데이터베이스 시스템 구현 기법

카테고리기법정의 및 목적구성 방식실무 예시
성능 최적화 기법인덱싱 (Indexing)검색 속도 향상을 위한 자료구조 활용B‑Tree, Hash, GiST, GINPostgreSQL B‑Tree, Elasticsearch inverted index
쿼리 최적화SQL 실행 계획 최적화를 통해 응답 시간 단축옵티마이저, 힌트, 실행 계획 (EXPLAIN)MySQL EXPLAIN, Oracle Optimizer
캐싱 (Caching)자주 조회되는 데이터의 메모리 적재Redis, Memcached, 애플리케이션 레벨 캐시Django + Redis 세션 캐시
인메모리 DBRAM 기반의 초고속 응답 처리 시스템Redis, VoltDB, MemSQLRedis 기반 실시간 순위 조회 시스템
일괄 적재 (Bulk Load)대량 INSERT 처리 시 성능 개선COPY, LOAD, INSERT … SELECTPostgreSQL COPY, BigQuery batch insert
데이터 구조 관리데이터 모델링논리/물리적 구조 설계로 데이터 간 관계 정의개체 - 관계 모델 (ER), 정규화, 제약조건ERD 설계, Snowflake schema
정규화 (Normalization)중복 최소화 및 무결성 향상을 위한 테이블 분해제 1~5 정규형, BCNF3NF 기반 RDB 테이블 구조
파티셔닝 (Partitioning)테이블을 논리/물리적으로 분할하여 관리 효율 및 쿼리 성능 향상Range, List, Hash, Composite Partitioning연도별 주문 데이터 분할 테이블
샤딩 (Sharding)데이터를 다수 인스턴스에 분산 저장하여 수평 확장성 확보키 기반, 범위 기반, 디렉토리 기반MongoDB 샤드 클러스터
레플리케이션 (Replication)데이터 복제본 유지로 고가용성 및 읽기 부하 분산Master-Slave, Master-Master, Sync/AsyncMySQL Replication, Kafka MirrorMaker
신뢰성/보안 관리트랜잭션 관리원자성, 일관성, 격리성, 지속성을 보장하는 데이터 처리 단위 관리BEGIN/COMMIT/ROLLBACK, WAL, MVCCPostgreSQL MVCC, Oracle REDO Log
동시성 제어여러 사용자 접근 시 데이터 정합성 유지락 (Lock), 타임스탬프, Optimistic Concurrency ControlRedis RedLock, Oracle Serializable Isolation
로그 관리트랜잭션 장애 복구를 위한 Undo/Redo 기록Write-Ahead Logging (WAL), CheckpointPostgreSQL WAL, MongoDB Oplog
백업 및 복구장애나 실수 발생 시 데이터 복구Logical/Physical Backup, PITRAWS RDS 자동 백업, pg_dump + WAL replay
보안 및 접근 제어권한 설정, 인증, 암호화 등을 통한 데이터 보호RBAC, GRANT/REVOKE, SSL/TLSPostgreSQL Role 기반 접근, MySQL SSL 인증
확장/통합 인터페이스미들웨어다양한 시스템 간 연동 및 API 인터페이스 중개API Gateway, JDBC/ODBC 드라이버, 메시지 브로커Kafka + Debezium CDC 통합, GraphQL → RDB Adapter
분산 데이터베이스데이터 분산 저장을 통한 확장성, 고가용성 및 지역 분산 처리NoSQL (Cassandra), NewSQL (CockroachDB)Google Spanner, YugabyteDB
CDC (Change Data Capture)DB 변경 이벤트 실시간 스트림 전송Debezium, Oracle GoldenGate, WAL StreamKafka Connect + Debezium
데이터 파이프라인 연동ETL/ELT 파이프라인 구성 요소와의 연결Airflow, dbt, Kafka, FlinkAirflow DAG → PostgreSQL ETL

장점과 단점

장점

분류항목설명
성능 및 확장성인덱스, 캐시, 샤딩 활용대규모 쿼리, 읽기 처리 속도를 대폭 향상시킴
파티셔닝/샤딩수평적 확장으로 트래픽 증가, 데이터 증가에 유연하게 대응
일관성과 무결성ACID 보장트랜잭션을 통한 강력한 데이터 무결성, 일관성 유지
정규화 및 중복 최소화저장 효율성 향상과 이상 현상 방지
운영 효율성백업/복구 자동화장애 상황 시 빠른 복구, 운영 신뢰성 확보
유지보수 용이파티션 단위 관리, 모듈화된 설계로 관리 편의
보안 및 통제인증 및 권한 관리사용자별 권한 설정, 접근 제어로 보안 강화
데이터 독립성물리적/논리적 구조 변경이 애플리케이션에 미치는 영향 최소화
공유성과 접근성멀티 유저 지원다수의 사용자가 동시에 접근 및 작업 가능
다양한 클라이언트SQL, API 등 다양한 인터페이스 제공

단점

구분단점 항목설명해결 방안
복잡성아키텍처 복잡성샤딩, 파티셔닝, 트랜잭션 제어 등 고도화된 구성 설계가 어려움모듈화 설계, 설계 표준화, 마이크로서비스 분리, 설계 자동화 도구 (IaC) 도입
운영/관리 복잡도락 관리, 인덱스 튜닝, 데드락 회피 등 전문 지식 필요운영 자동화 툴 도입 (Ansible, Prometheus), 교육 체계 강화
비용초기/운영 비용 부담고성능 하드웨어, DB 라이선스, 전담 인력 등 고비용클라우드 과금 모델, 오픈소스 DBMS 활용 (PostgreSQL 등), Reserved 인스턴스 활용
성능 병목오버헤드ACID 보장, 인덱스 유지, 캐시 업데이트 등으로 성능 저하 가능적절한 인덱스 설계, 쿼리 최적화, 캐시 도입 (Redis), 병렬 쿼리 처리
일관성분산 환경에서의 지연복제/샤딩 환경에서 동기화 지연으로 인한 데이터 불일치 가능성Strong consistency 모드 적용, 2PC / Paxos / Raft 합의 프로토콜 활용
가용성단일 장애점 (SPOF)중앙집중식 구성 시 장애 발생 시 전체 서비스 영향다중 노드 클러스터링, 자동 장애 감지 + Failover 구성, 로드밸런싱 적용
종속성벤더 락인특정 DBMS 벤더에 종속되어 이식성 및 기술 유연성 저하ORM/쿼리 추상화 도입, 표준화된 API 기반 설계, 멀티 -DB 전략 적용

문제점과 해결방안

문제 유형세부 문제원인영향탐지 및 진단 방식예방 방법해결 방안
성능 저하쿼리 지연, I/O 병목인덱스 부족, 비효율 쿼리, 하드웨어 한계응답 속도 저하, 사용자 불만족EXPLAIN, 모니터링 도구, APM인덱스 최적화, 쿼리 리팩토링, 용량 계획 수립쿼리 튜닝, 인덱스 재구성, SSD 교체 등 성능 업그레이드
락 경합트랜잭션 병렬 처리 충돌높은 동시성, 불필요한 범위 락트랜잭션 지연 또는 데드락Lock wait, Deadlock graph트랜잭션 분리, 범위 축소, Index Lock 유도비관적 락 → 낙관적 락 (OCC), Lock-free 설계
샤드 불균형특정 샤드에 데이터 집중범위 기반 파티셔닝, 키 불균형특정 노드 과부하, 전체 성능 저하샤드 키 분포 히트맵, 트래픽 모니터링해시 기반 샤딩 설계, 샤드 리밸런싱 주기적 수행핫샤드 리샤딩, 다중 파티션 구성
데이터 일관성동기화 지연, 트랜잭션 오류복제 지연, 락 실패, 잘못된 격리 수준데이터 오류, 중복 반영, 정책 위반데이터 검증 쿼리, Replica lag 로그 분석적절한 트랜잭션 격리 수준, 강한 일관성 구성재처리 큐 활용, CDC 기반 정합성 회복
가용성 문제서비스 중단, 장애 발생단일 노드 장애, 네트워크 단절사용 불가, SLA 위반시스템 알림, 노드 상태 감지이중화 구성, 장애 조치 설계, 정기 DR 리허설Active-Standby Failover, Auto Healing
보안 취약점SQL 인젝션, 권한 노출입력 검증 부재, 권한 과다, 암호화 미비데이터 유출, 법적 문제취약점 스캔, DB 접근 로그 감시최소 권한 원칙, Prepared Statement 사용접근 제어 강화, 암호화 적용, 보안 패치 적용
데이터 손실손상, 삭제, 장애백업 실패, 장애 시 복구 실패정보 유실, 신뢰도 하락백업 무결성 테스트, 로그 분석정기 백업, 다중 백업 스토리지 구성PITR(Point-In-Time Recovery), 백업에서 복구
캐시 미스 증가낮은 Hit RatioTTL 설정 부적절, 접근 패턴 변경느린 응답, DB 부하 증가Cache hit ratio 모니터링접근 기반 슬라이딩 TTL, 계층형 캐시캐시 전략 조정, 지역성 기반 Preload 설계

DB 장애 대응

flowchart TD
    A[🔍 장애 탐지]
    A --> B{장애 유형 판단}

    B --> B1[⚠ 성능 저하]
    B --> B2[🛑 가용성 문제]
    B --> B3[🔐 보안 침해]
    B --> B4[📉 데이터 일관성 문제]

    %% 성능 장애 대응 경로
    B1 --> C1[쿼리 로그 수집 및 분석]
    C1 --> D1{핫스팟/인덱스 문제?}
    D1 -- Yes --> E1[인덱스 재설계, 쿼리 튜닝]
    D1 -- No --> F1[리소스/하드웨어 스케일링]

    %% 가용성 장애 대응 경로
    B2 --> C2[장애 노드 탐지]
    C2 --> D2{이중화 구성 여부 확인}
    D2 -- 예 --> E2[Failover 수행 및 Auto Healing]
    D2 -- 아니오 --> F2[수동 복구 및 백업 전환]

    %% 보안 침해 대응 경로
    B3 --> C3[접근 로그 및 취약점 분석]
    C3 --> D3[의심 사용자 차단]
    D3 --> E3[보안 패치 적용 및 권한 재조정]

    %% 정합성 문제 대응 경로
    B4 --> C4[데이터 검증 쿼리 실행]
    C4 --> D4{복제 지연/트랜잭션 오류?}
    D4 -- 복제 지연 --> E4[Replica lag 해소, CDC로 정합성 복원]
    D4 -- 트랜잭션 오류 --> F4[트랜잭션 재설계 및 재처리 큐 투입]

    %% 사후 처리 공통 경로
    E1 --> Z[📊 사후 분석 및 재발 방지 조치]
    F1 --> Z
    E2 --> Z
    F2 --> Z
    E3 --> Z
    E4 --> Z
    F4 --> Z

도전 과제

카테고리도전 과제설명 및 배경해결 방향 및 기술 예시
확장성대규모 데이터 처리초당 수천만 건 이상의 데이터 수집/적재 요구 발생. 기존 RDBMS 의 수직 확장 한계분산 DBMS (Cassandra, CockroachDB), 클라우드 스토리지, Auto-sharding
실시간성지연 없는 실시간 처리사용자 요청에 즉각 반응하는 시스템 수요 증가 (예: 금융, IoT, 추천시스템)인메모리 DB (Redis, VoltDB), 스트림 처리 (Kafka, Flink), CQRS
데이터 다양성정형·비정형 데이터의 동시 처리텍스트, 이미지, JSON, 시계열 등 다양한 스키마 및 포맷 지원 요구멀티모델 DB (ArangoDB, MongoDB), 객체 스토리지, 스키마리스 구조
이기종 연동레거시 + 클라우드 연동온프레미스와 클라우드, SaaS 간 데이터 통합 필요데이터 가상화, CDC 기반 통합, 미들웨어 (Bi-directional sync)
클라우드 이전클라우드 마이그레이션의 복잡성비용, 성능, 가용성, 데이터 정합성 모두 고려해야 함하이브리드/멀티 클라우드 구조, DB 컨테이너화 (K8s + DB Operator)
데이터 보안개인정보 보호 및 규제 대응GDPR, CCPA 등 글로벌 법령 준수 필요, 보안 사고 리스크 증가암호화 (AES, TLS), 접근 제어 (RBAC), 데이터 마스킹, 감사 로그
규칙 기반 거버넌스데이터 정책 자동화보안/품질/접근 제어 등 정책을 코드로 표현하고 자동화 필요정책 기반 접근 제어 (PBAC), 데이터 카탈로그, OpenLineage
자율 운영운영 자동화 및 장애 대응장애 조치, 백업, 스케일링 등 수작업 한계를 벗어나야 함DBaaS, 오토스케일링, SRE 도구 (Terraform, Ansible + Prometheus)
탄력적 비용 구조트래픽 변동성 대응시즌/이벤트/야간 시간 등 트래픽 편차 대응 필요Serverless DB (Aurora Serverless), Spot 인스턴스, 비용 최적화 스케줄링
글로벌 동기화멀티리전 데이터 일관성 확보다지역 운영 시 지연 및 정합성 간 Trade-off 존재CRDT, 글로벌 분산 트랜잭션, Spanner, CockroachDB, 리더/팔로워 모델

분류 기준에 따른 종류 및 유형

분류 기준주요 유형설명 및 특징주요 사례/용도
데이터 모델관계형 (RDBMS)정형화된 스키마, SQL 기반 테이블 구조ERP, CRM, 금융 시스템
계층형트리 기반 구조, 상하위 관계 명확조직도, 파일 시스템
네트워크형그래프 기반 구조, 다대다 관계 지원통신 네트워크, CAD
객체지향객체와 메서드 포함, OOP 개념 적용과학 시뮬레이션, 복합 데이터 구조
문서형 (Document DB)JSON/BSON 기반, 유연한 스키마CMS, e-Commerce 상품정보
키 - 값형 (Key-Value)단순한 키 - 값 쌍으로 구성, 초고속 조회세션 관리, 캐시 저장소
컬럼형 (Wide-Column)컬럼 패밀리 단위 저장, 고속 집계 처리로그 수집, 시계열 데이터, 분석용
그래프형 (Graph DB)노드 - 엣지 구조, 관계 중심 쿼리 최적화추천 시스템, SNS 관계망
확장 전략수직 확장 (Scale-Up)CPU, RAM 업그레이드 중심, 단일 인스턴스 성능 강화기존 RDBMS 서버 증설
수평 확장 (Scale-Out, Sharding)노드 추가로 확장, 데이터 분산 저장글로벌 서비스, 대규모 사용자 처리
처리 목적OLTP빠른 읽기/쓰기 트랜잭션 처리, 정합성 중요은행 업무, 주문/결제 처리
OLAP대규모 데이터 분석, 복잡한 조인, 정합성보다 성능 우선데이터 웨어하우스, BI 시스템
HTAPOLTP + OLAP 혼합 처리, 실시간 분석 가능실시간 대시보드, IoT 분석
일관성 모델Strong Consistency모든 노드가 즉시 동일한 데이터 보장금융, 인증 시스템
Eventual Consistency일정 시간 후 정합성 수렴 보장, 고가용성 위주SNS 피드, 분산 캐시
Causal Consistency원인 - 결과 관계 순서를 보장협업 툴, 분산 메시징 시스템
운영 환경온프레미스 (On-Premise)자체 인프라에서 DB 운영, 보안/제어 강점전통적인 기업 시스템
클라우드클라우드 기반 DB 서비스, 탄력적 확장AWS RDS, Azure SQL
하이브리드온프레미스 + 클라우드 병행 운영데이터 레이크 + 분석 플랫폼 혼합 운영
배포 구조중앙집중형하나의 DB 인스턴스에서 모든 데이터 관리소규모 서비스, 스타트업 초기 단계
분산형다수 노드에 데이터 분산 저장글로벌 사용자 기반 서비스
연합형 (Federated)독립된 DB 들을 하나의 논리적 뷰로 연합 구성B2B 연동 시스템, 다국적 조직
사용자 규모단일 사용자개인용 앱, 임베디드 시스템 등로컬 어플리케이션, 모바일 앱
다중 사용자복수 사용자의 동시 접근 및 트랜잭션 처리 가능웹 서비스, 협업 툴, SaaS 플랫폼

실무 적용 예시

적용 분야사용 DB 유형 / 제품함께 사용하는 기술 스택목적 / 기능주요 효과 및 특징
전자상거래MySQL, PostgreSQLRedis (세션 캐시), Kafka (이벤트 처리)상품 정보 관리, 주문 및 결제 처리높은 동시성 처리, 트랜잭션 일관성 유지, 빠른 응답성
금융 시스템Oracle, DB2, PostgreSQLMQ (메시지 큐), WebLogic (미들웨어)계좌 관리, 거래 처리, 정산 및 리스크 관리엄격한 ACID 보장, 감사 추적, 고가용성 구조 지원
소셜미디어MongoDB, Cassandra, Neo4jRedis (팔로우 캐시), Kafka Streams사용자 피드, 메시징, 관계 맵확장성 높은 분산 구조, 비정형 데이터 처리 최적화, 실시간 알림
IoT / 시계열InfluxDB, TimescaleDB, DruidMQTT, Telegraf, Grafana센서 데이터 수집, 시계열 분석, 알림 트리거초당 수천건 이벤트 처리, 시계열 기반 저장 최적화
게임 서버Redis, DynamoDB, MongoDBgRPC, WebSocket, Matchmaking 서버실시간 게임 세션 관리, 리더보드, 유저 상태 처리초저지연 응답, 플레이어 동기화, 글로벌 분산 저장
의료 시스템SQL Server, PostgreSQL, CouchDBHL7/FHIR API, Vault (비밀 관리), JWT Auth환자 정보 관리, 처방, 진료기록 저장규제 준수 (GDPR, HIPAA), 보안 및 무결성 강화, 감사 로그 필수
물류/배송MySQL, MongoDB, PostGISRabbitMQ (이벤트), Google Maps API실시간 배송 추적, 경로 최적화, 재고 관리지리공간 데이터 처리, 실시간 위치 기반 분석 지원
교육 플랫폼PostgreSQL, MongoDBS3 (콘텐츠 저장), Auth0 (인증), GraphQL수강관리, 시험 점수 저장, 콘텐츠 관리콘텐츠 중심 구조, 권한 기반 접근 제어, 반응형 콘텐츠 검색
데이터 분석BigQuery, Redshift, SnowflakeAirflow, dbt, Looker대규모 로그 분석, KPI 대시보드, 집계 리포트 생성OLAP 최적화, ELT 파이프라인, 시각화 도구 연계 최적화
검색 / 로그 분석ElasticsearchFilebeat, Logstash, Kibana실시간 로그 수집 및 검색, 인덱싱, 대시보드 구축빠른 검색 속도, 전체 텍스트 인덱싱, 분산형 구조
글로벌 서비스CockroachDB, SpannergRPC, Envoy, Kubernetes전 지리적 위치 간 데이터 정합성 보장 및 동기화글로벌 트랜잭션, 자동 분산, 지역 기반 지연 최소화
기준특징
기술 조합대부분 Redis, Kafka, MQ, WebSocket, GraphQL, Airflow 등과 연동되어 사용됨
분야 특성화금융 → 일관성 / 보안, IoT → 실시간성 / 처리량, SNS → 확장성 / 유연성
공통 목표확장성, 가용성, 보안성, 실시간 처리, 데이터 분석 최적화
트렌드 반영클라우드 기반 분산 구조와 마이크로서비스 환경을 전제로 한 설계가 중심

활용 사례

사례 1: 전자상거래 (E‑commerce)

시스템 구성: 폴리글롯 아키텍처

워크플로우 예시:

  1. 고객 로그인 → RDBMS
  2. 제품조회 → Redis 캐시 → 없으면 RDBMS
  3. 리뷰 보기 → MongoDB
  4. 주문 시 이벤트 발행 → NewSQL 클러스터에 글로벌 커밋

사례 2: Netflix 의 데이터베이스 아키텍처

Netflix 는 전 세계 2 억 명 이상의 사용자에게 스트리밍 서비스를 제공하는 글로벌 플랫폼으로, 복잡한 데이터베이스 아키텍처를 통해 대규모 서비스를 운영하고 있다.

시스템 구성:

graph TB
    subgraph "클라이언트 계층"
        WEB[웹 브라우저]
        MOBILE[모바일 앱]
        TV[스마트 TV]
    end
    
    subgraph "API 게이트웨이"
        ZUUL[Zuul Gateway]
    end
    
    subgraph "마이크로서비스 계층"
        USER[사용자 서비스]
        CONTENT[콘텐츠 서비스]
        RECOMMEND[추천 서비스]
        BILLING[결제 서비스]
    end
    
    subgraph "데이터베이스 계층"
        CASSANDRA[Cassandra<br/>사용자 데이터]
        MYSQL[MySQL<br/>결제 데이터]
        ELASTICSEARCH[Elasticsearch<br/>검색 데이터]
        REDIS[Redis<br/>캐시]
    end
    
    subgraph "분석 계층"
        SPARK[Apache Spark]
        KAFKA[Apache Kafka]
        S3[Amazon S3]
    end
    
    WEB --> ZUUL
    MOBILE --> ZUUL
    TV --> ZUUL
    
    ZUUL --> USER
    ZUUL --> CONTENT
    ZUUL --> RECOMMEND
    ZUUL --> BILLING
    
    USER --> CASSANDRA
    USER --> REDIS
    CONTENT --> ELASTICSEARCH
    CONTENT --> CASSANDRA
    RECOMMEND --> CASSANDRA
    RECOMMEND --> REDIS
    BILLING --> MYSQL
    
    CASSANDRA --> KAFKA
    MYSQL --> KAFKA
    KAFKA --> SPARK
    SPARK --> S3
계층구성 요소기술 스택 / 설명주요 기능
1. 프론트엔드 계층웹 브라우저React 기반 웹 애플리케이션사용자 UI 및 웹 인터페이스 제공
모바일 앱네이티브 iOS / Android 앱모바일 기기용 사용자 인터페이스
스마트 TV임베디드 애플리케이션스마트 TV 환경에서 콘텐츠 제공
2. API 게이트웨이ZuulNetflix OSS 기반 API Gateway라우팅, 로드 밸런싱, 인증, 로깅 및 모니터링 처리
3. 마이크로서비스 계층사용자 서비스사용자 프로필, 시청 기록 등 관리사용자 개인 정보 및 활동 이력 처리
콘텐츠 서비스콘텐츠 메타데이터, 카탈로그 관리콘텐츠 목록, 장르, 설명 등 관리
추천 서비스개인화 추천 알고리즘 기반 서비스사용자 선호도 기반 콘텐츠 추천
결제 서비스구독 및 결제 처리 기능결제 처리, 구독 관리 및 결제 기록 유지
4. 데이터베이스 계층Cassandra분산형 NoSQL DB사용자 활동 로그, 이벤트 데이터 저장
MySQL관계형 DB핵심 트랜잭션 및 비즈니스 데이터 저장
Elasticsearch분산 검색 엔진콘텐츠 제목, 설명, 태그 기반 검색 기능 제공
Redis인메모리 Key-Value 저장소사용자 세션 관리 및 빈번한 요청에 대한 빠른 응답 캐시 처리

데이터베이스별 역할 및 구성:

데이터베이스역할저장 데이터 유형주요 특성설정 방식
Cassandra대용량 사용자 활동 데이터 저장시청 이력, 평점, 사용자 상호작용분산 NoSQL, 높은 쓰기 성능, 수평 확장멀티 데이터센터 복제로 글로벌 가용성 확보
MySQL트랜잭션 데이터 관리사용자 계정, 구독 정보, 결제 내역관계형 DB, ACID 보장, 강한 일관성Master-Slave 복제, 자동 백업·복구
Elasticsearch콘텐츠 검색 및 로그 분석영화/드라마 메타데이터, 검색 로그전문 검색 엔진, 실시간 인덱싱샤딩 기반 분산 처리
Redis캐싱 및 세션 관리세션 정보, 자주 조회되는 콘텐츠 정보인메모리 저장소, 밀리초 응답 속도클러스터 모드 운영으로 고가용성 확보

Workflow:

sequenceDiagram
    participant User as 사용자
    participant Gateway as API Gateway
    participant UserSvc as 사용자 서비스
    participant ContentSvc as 콘텐츠 서비스
    participant RecommendSvc as 추천 서비스
    participant Cache as Redis Cache
    participant DB as Cassandra
    
    User->>Gateway: 로그인 요청
    Gateway->>UserSvc: 인증 확인
    UserSvc->>DB: 사용자 정보 조회
    DB->>UserSvc: 사용자 데이터 반환
    UserSvc->>Gateway: 인증 완료
    
    User->>Gateway: 홈페이지 요청
    Gateway->>RecommendSvc: 추천 콘텐츠 요청
    RecommendSvc->>Cache: 캐시된 추천 확인
    
    alt 캐시 미스
        RecommendSvc->>DB: 사용자 시청 이력 조회
        DB->>RecommendSvc: 시청 데이터 반환
        RecommendSvc->>RecommendSvc: ML 알고리즘 실행
        RecommendSvc->>Cache: 추천 결과 캐시
    end
    
    RecommendSvc->>Gateway: 추천 콘텐츠 반환
    Gateway->>ContentSvc: 콘텐츠 메타데이터 요청
    ContentSvc->>DB: 콘텐츠 정보 조회
    DB->>ContentSvc: 메타데이터 반환
    ContentSvc->>Gateway: 콘텐츠 정보 반환
    Gateway->>User: 개인화된 홈페이지 제공

실무에서 효과적으로 적용하기 위한 고려사항 및 주의할 점

단계고려사항주의할 점권장사항
설계요구사항 기반 데이터 모델 설계데이터베이스 유형 선택 미스매치POC 수행 후 적절한 DB 모델 채택
정규화 및 성능 균형과도한 정규화로 인한 성능 저하3NF 까지만 정규화 후 쿼리 성능 테스트
확장성 고려초기 용량 계획 부족향후 3~5 년 데이터 성장 고려한 확장 전략 수립
개발인덱싱 전략 수립무분별한 인덱스 생성쿼리 패턴 분석 기반 선택적 인덱스 적용
트랜잭션 관리트랜잭션 범위 과도 확장 → 락 경합업무 단위별로 트랜잭션 최소화 및 명확한 경계 설정
쿼리 작성 최적화SELECT * 남발, 비효율적 조건문 사용필요한 컬럼만 선택, 실행계획 기반 튜닝 수행
운영성능 모니터링 체계화성능 저하 징후 방치자동화된 모니터링 도구 + 알림 시스템 도입
보안 및 접근 제어권한 관리 소홀, 암호화 누락최소 권한 원칙, 컬럼 단위 암호화 적용
백업 및 복구 전략백업 검증 미흡, 복구 불능정기 백업 + 복구 시뮬레이션 테스트 수행
유지보수통계 및 메타데이터 관리오래된 통계로 인한 실행계획 오류자동 통계 업데이트 주기 설정
데이터 아카이빙 및 파티셔닝대용량 테이블 유지로 인한 성능 저하시간 기반 파티셔닝 + 장기 데이터 별도 저장소 이관
버전 업그레이드 전략긴급 업그레이드로 인한 장애 발생단계적 업그레이드 및 롤백 계획 수립

글로벌 분산 트랜잭션 설계 전략

요구 사항

항목설명
일관성단일 트랜잭션에 대해 글로벌 ACID 보장 필요
지연 최소화리전 간 네트워크 지연 고려
장애 복구부분 실패 대응 및 페일오버 필수
데이터 지역성각 리전에 가까운 위치에서 데이터 읽기 가능해야 함 (레플리카 활용)

설계 패턴

구성 요소전략
글로벌 ID 생성기Snowflake ID, UUID v7 등
트랜잭션 매니저2PC/3PC or Raft 기반 Commit Protocol
시간 동기화GCP TrueTime, NTP + 벡터 클록
쓰기 조율Paxos, Raft (Spanner, CockroachDB)
장애 대응리전간 Replica 설정, Read Fallback

실례

운영/모니터링 자동화 전략

구성 항목

범주기능도구
메트릭 수집쿼리 속도, 커넥션 수, 오류율Prometheus, CloudWatch, Azure Monitor
시각화대시보드 분석Grafana, Datadog, Kibana
자동 스케일링쓰기/읽기 워크로드 증가 시 확장AWS Aurora Auto Scaling, GCP Autoscaler
알림 설정SLA 위반, 캐시 미스, 복제 지연 감지PagerDuty, Slack Webhook, SNS
백업/복구 자동화정기 백업 및 복구 테스트Point-in-Time Recovery, Barman, Velero
CI/CD 배포DB 스키마 마이그레이션 자동화Flyway, Liquibase, GitHub Actions

운영 자동화 전략

전략설명
DB 스키마 CI/CD코드 기반 마이그레이션 관리 (버전 태깅 포함)
Auto-Failover헬스체크 기반 Master/Replica 전환
Query Health 체크느린 쿼리 추적, 실행 계획 분석
Slow Query 로그 수집주기적 EXPLAIN 및 히스토그램 구축
트래픽 기반 Auto ScaleCloudSQL / Aurora 등 쓰기 부하 기준 조정

실무 관점의 프로젝트 구조 및 설계 전략

flowchart LR
  Client --> API[API Gateway]
  API -->|주문 생성| NewSQL[TiDB/YugabyteDB]
  API -->|제품 조회| Cache[Redis]
  Cache --> RDB[PostgreSQL/MySQL]
  API -->|리뷰 조회| MongoDB
  OrderCreated --> EventBus[Kafka]
  EventBus --> AnalyticsDB[Redshift/Snowflake]

멀티 리전 RTO/RPO 설계 방법

항목정의
RTO (Recovery Time Objective)장애 발생 후 복구에 허용 가능한 최대 시간
RPO (Recovery Point Objective)데이터 손실 없이 복구 가능한 시점까지의 최대 허용 시간 (데이터 백업 기준)

설계 전략

전략 항목내용
핵심 원칙서비스 지속성과 데이터 무결성 보장
리전 분산Primary + Secondary + Optional Standby 리전 구성
Replication 방식동기 복제 (Sync), 비동기 복제 (Async), 하이브리드 복제
Failover 전략자동 장애 감지 + DNS/라우팅 전환 + 상태 기반 모니터링
백업 정책주기적 스냅샷 + WAL 아카이브 + Object Storage 업로드
테스트DR 시나리오 기반 연 1 회 이상 복구 연습 필수

설계 예시

요구 수준RTORPO적용 예
일반 서비스수시간수시간Async 복제, 주기 백업
준중요 서비스1 시간 이내15 분WAL 복제, 스냅샷
핵심 서비스수분 이내실시간 또는 수초동기 복제, 지속 복제 (PITR), 오토 페일오버 구성

예시 아키텍처

graph TD
  A["Primary Region (Tokyo)"] -->|Sync Replication| B["Secondary Region (Seoul)"]
  A -->|Daily Snapshot| C["Object Storage (S3)"]
  B -->|Async Backup| C
  U[User Traffic] --> D[Global Load Balancer] --> A
  D -->|Failover| B

DB DevOps (DBRE: Database Reliability Engineering)

DBRE(Database Reliability Engineering) 는 SRE(Site Reliability Engineering) 개념을 DB 에 적용하여, 안정성·확장성·가용성을 보장하는 동시에 CI/CD 자동화를 통해 운영 효율을 극대화한다.

핵심 책임:

영역내용
자동화 배포Flyway, Liquibase 등 도구로 마이그레이션 자동화
모니터링쿼리 성능, 락, 복제 지연, 커넥션 상태 등 실시간 감시
트래픽 제어읽기 부하 분산, 슬로우 쿼리 차단
장애 대응빠른 페일오버, 복구 시나리오 자동 실행
SLI/SLO 설정QPS, 지연 시간, 오류율 등 정의 및 측정
리스크 관리DB 구조 변경 전 dry-run, 카나리아 마이그레이션 도입

주요 도구

목적도구
Schema 관리Flyway, Liquibase, Alembic
배포 자동화GitHub Actions, ArgoCD, Jenkins
백업/복구WAL-G, Velero, AWS Backup
모니터링Prometheus, Percona PMM, DataDog
로깅Loki, ELK Stack
부하 테스트Sysbench, k6, JMeter

최적화하기 위한 고려사항 및 주의할 점

카테고리최적화 요소설명주의할 점권장사항
쿼리 최적화실행 계획 분석옵티마이저가 사용하는 쿼리 실행 전략 확인힌트 남용으로 옵티마이저 무력화 위험통계 기반 옵티마이저 신뢰, 주기적 실행 계획 확인
조인 순서 최적화작은 테이블부터 조인하면 효율성 향상잘못된 순서로 인한 성능 저하데이터 크기 기반 조인 순서 조정
서브쿼리 → 조인 변환복잡한 서브쿼리를 단순한 조인으로 최적화 가능가독성 저하 가능성능과 유지보수성의 균형 유지
인덱스 최적화복합 인덱스 구성WHERE + ORDER BY 등을 모두 포함하는 인덱스 생성컬럼 순서 부적절 시 인덱스 미사용선택도 높은 컬럼을 앞에 배치
불필요 인덱스 제거사용되지 않는 인덱스는 쓰기 성능에 부담실수로 필요한 인덱스 제거 위험쿼리 로그 분석 후 신중하게 제거
커버링 인덱스 활용인덱스만으로 결과 반환 가능 (테이블 접근 없음)인덱스 크기 증가자주 조회되는 쿼리에 한해 적용
메모리 최적화버퍼 풀 크기 조정DB 캐시를 위한 메모리 할당 비율 조절과도한 할당 시 OS 자원 부족 가능전체 메모리의 70~80% 내로 설정
캐시 히트율 개선반복 조회 데이터가 캐시에 존재하도록 유지잘못된 TTL 설정 시 캐시 무력화워킹셋 (자주 조회 데이터) 기반 캐시 설계
연결 풀 크기 조절연결 수 제한 및 누수 방지풀 부족 시 대기, 과도 시 자원 고갈평균 동시 사용자 수 기준 적정 크기 설정
스토리지 최적화데이터 파티셔닝대용량 테이블을 논리적으로 분할파티션 키 부적절 시 성능 저하쿼리 조건에 자주 사용되는 컬럼 기준 파티셔닝
압축 기능 사용디스크 사용량 감소압축으로 인한 CPU 오버헤드데이터 특성에 따라 압축 비율/성능 트레이드오프 고려
SSD 활용랜덤 I/O 성능 향상비용 부담 증가자주 조회되는 핫 데이터에만 SSD 적용
네트워크 최적화연결 풀링연결 재사용으로 부하 감소풀 크기 설정 미흡 시 커넥션 지연 발생서비스 규모 기반 커넥션 수 계산
배치 처리다건 작업을 묶어서 전송과도한 배치는 대기 시간 증가 가능적정 크기의 배치 단위 설정
데이터 압축 전송대역폭 절약 효과CPU 사용량 증가CPU 여유 자원과 네트워크 상황 고려

주제와 관련하여 주목할 내용

주요 범주세부 항목설명
데이터 모델 및 구조관계형 / NoSQL정형/비정형 데이터 저장 방식 (RDBMS, Document, Key-Value, Graph 등)
그래프 DB관계 중심 데이터 분석에 특화 (예: 소셜 네트워크, 추천 시스템)
인메모리 DB메모리 기반 고속 처리용 DB (예: Redis, MemSQL)
컬럼형 저장분석 워크로드 최적화 포맷 (예: Parquet, Cassandra, Vertica)
분산 및 확장성 기술분산 SQL다중 노드에서 SQL 질의 처리 (예: Presto, Trino, CockroachDB)
분산 데이터베이스확장성과 고가용성 중심의 아키텍처 (예: Cassandra, TiDB, YugabyteDB)
멀티/하이브리드 클라우드다양한 클라우드 환경에서의 데이터베이스 연동 및 이중화
클라우드 DB 운영DBaaS관리형 클라우드 데이터베이스 서비스 (예: AWS RDS, Azure SQL, GCP BigQuery)
서버리스 DB사용량 기반 확장/축소, 무서버 구조의 자동화된 DB (예: Aurora Serverless)
데이터베이스 엔진쿼리 프로세서SQL 최적화, 실행 계획, 병렬 처리 등 DB 내부 엔진 구조
트랜잭션 및 ACID 속성원자성, 일관성, 고립성, 지속성을 보장하는 데이터 처리 기본 원칙
적응형 인덱스쿼리 패턴 기반으로 동적으로 구성되는 인덱스 (예: MySQL 의 InnoDB 가변 인덱싱)
AI/ML 통합 기능자동 튜닝AI 기반 쿼리 최적화, 인덱스 구성, 파라미터 조정
이상 탐지머신러닝을 활용한 이상 트래픽/성능/데이터 감지
지능형 인덱싱AI 가 추천하는 최적 인덱스 구성 방식 (쿼리 사용 빈도 분석 기반)
보안 및 무결성동형 암호화암호화된 데이터에 대해 직접 연산 가능한 기술 (예: Homomorphic Encryption)
블록체인 DB변경 불가능한 로그 및 트랜잭션 저장, 투명성 제공
제로 트러스트최소 권한 원칙, 지속적 검증을 통한 보안 모델
성능 최적화 기술벡터화 실행SIMD 를 활용한 대규모 데이터 병렬 처리 기술 (예: ClickHouse, DuckDB)
트랜잭션 최적화락 경합 최소화, 분산 트랜잭션 처리, 샤딩 기반 성능 향상
고성능 검색 엔진 연동Elasticsearch, Solr 등 전문 검색 DB 연계

추가 학습 및 조사할 내용

카테고리주제/기술간략한 설명
데이터베이스 유형NoSQL Database문서형, 키 - 값, 컬럼형, 그래프형 등 비정형 데이터 저장에 특화된 DB
Distributed Database여러 노드에 데이터가 분산 저장되어 확장성과 가용성이 높은 구조
In-memory DatabaseRAM 기반 초고속 처리 DB (예: Redis, MemSQL 등)
Cloud Database (DBaaS)클라우드 환경에서 제공되는 관리형 DB 서비스 (예: AWS RDS, Azure SQL 등)
Time Series DB시계열 데이터 저장에 최적화된 DB (예: InfluxDB, TimescaleDB)
Vector DatabaseAI/ML 벡터 임베딩 기반 유사도 검색용 DB (예: Pinecone, Weaviate)
데이터베이스 구조 및 아키텍처MVCC다중 버전 데이터로 동시성 제어 (예: PostgreSQL 의 MVCC)
분산 트랜잭션 처리2PC, 3PC, Saga 등을 통한 다중 DB 트랜잭션 처리 기법
CAP 이론분산 시스템에서 일관성 (C), 가용성 (A), 분할 내성 (P) 중 2 가지만 보장
CQRS읽기/쓰기 책임을 분리하여 확장성과 성능을 개선하는 패턴
Event Sourcing시스템의 상태 변화를 이벤트로 기록하여 추적성 확보
Database Mesh분산 DB 의 관리를 위한 클라우드 네이티브 프레임워크 (서비스 메시의 DB 버전)
데이터 처리 기술Stream ProcessingKafka, Flink, Storm 기반 실시간 스트림 처리
Parallel Query Processing병렬 처리를 통한 대용량 쿼리 성능 향상
Adaptive Query Processing실행 중 동적으로 쿼리 계획을 조정하여 성능 최적화 (예: SQL Server AQE)
운영 자동화 및 클라우드 네이티브Kubernetes OperatorDB 클러스터 설치, 백업, 복구를 쿠버네티스에서 자동화
GitOps for DBGit 기반 인프라/스키마 관리로 DB 변경의 추적성과 자동화 강화
성능 최적화 및 캐시Query Plan Cache쿼리 실행 계획의 캐싱을 통한 성능 향상
인덱스 튜닝 및 적응형 인덱스AI 기반 추천 또는 옵티마이저 자동 조정을 통한 인덱스 최적화
캐싱 전략Redis, Memcached 등을 활용한 캐싱 기반 성능 개선
보안 및 프라이버시Data Masking민감 정보 마스킹을 통한 개인정보 보호
Homomorphic Encryption암호화된 상태에서의 연산이 가능한 기술
Secure Multi-party Computation다자간 계산 과정에서도 정보 노출 없이 협업 가능한 분산 보안 기술
Zero Trust Security Model모든 접근을 검증하는 보안 구조
데이터 거버넌스 및 품질Data Lineage데이터 흐름을 추적하고 변환 과정을 기록하여 투명성 확보
Data Catalog데이터 자산을 탐색하고 메타데이터를 관리하는 체계
Data Quality Management데이터 정확성, 완전성, 일관성, 적시성 등의 품질 지표 측정 및 개선

용어 정리

카테고리용어설명
기본 개념Database구조화된 데이터의 집합체
DBMS (Database Management System)데이터베이스를 생성·관리·보호하는 소프트웨어
Data Model데이터 구조를 표현하는 논리적 설계
Query Language데이터 질의 및 조작 언어
DDL / DML / DCL정의 (DDL), 조작 (DML), 제어 (DCL) 명령어 분류
트랜잭션 & ACIDTransaction데이터베이스 작업의 논리적 단위
Atomicity / Consistency / Isolation / Durability트랜잭션의 ACID 4 대 속성
Commit / Rollback / Savepoint트랜잭션 완료/취소/중간 저장 기능
Lock자원 동시 접근 제어 수단
정규화1NF / 2NF / 3NF / BCNF데이터 중복 제거 및 무결성 유지 위한 정규화 단계
Normalization데이터 구조 설계 최적화 기법
인덱스Index검색 속도 향상을 위한 구조
B-Tree Index / Hash Index / Bitmap Index다양한 인덱스 유형 (검색/연산 최적화 목적)
Clustered Index데이터와 인덱스를 함께 저장하는 구조
키 개념Primary Key / Foreign Key행의 고유 식별자 / 다른 테이블 참조
Candidate Key / Composite Key후보키 / 다중 컬럼 구성 키
NoSQLDocument DB / Key-Value Store / Column Family / Graph DB비정형·반정형 데이터를 저장하는 다양한 방식
성능 최적화Query Optimization쿼리 실행을 최적화하는 기술 전반
Execution Plan옵티마이저가 선택한 실행 절차
Cost-Based Optimizer비용 기반 실행 계획 선택 기법
Statistics데이터 분포 기반의 실행 계획 판단 요소
분산 시스템Sharding수평 분할 저장 방식
Replication다중 복제본을 통한 가용성 확보
Partitioning논리적/물리적 파티션 분리 저장
Load Balancing서버 간 부하 분산
백업 및 복구Full / Incremental / Differential Backup전체, 변경분, 차등 백업 전략
Point-in-Time Recovery특정 시점으로 데이터 복구

참고 및 출처