Database

키와 인덱스, 조인, 트랜잭션과 로깅, 잠금, 복제 등 DBMS 기본 원리

  1. 01

    E/R 모델 설계 원칙 정리

    충실성, 중복 회피, 단순성, 관계 선택, Weak Entity Set까지 E/R 설계에서 지켜야 할 원칙을 예시와 함께 정리한다.

    3분 읽기
  2. 02

    데이터베이스 키의 종류와 UNIQUE 제약

    슈퍼키부터 후보키, 기본키, 대체키, 외래키까지 키의 종류와 암시적 기본키, UNIQUE 제약의 비용을 정리한다.

    3분 읽기
  3. 03

    인덱스와 B-Tree, 그리고 스캔 방식

    인덱스의 개념과 B-Tree·B+Tree 구조, 해시 대신 B-Tree를 쓰는 이유, 테이블 풀 스캔과 인덱스 스캔의 선택 기준을 정리한다.

    6분 읽기
  4. 04

    JOIN의 종류와 구현 방식

    INNER·OUTER JOIN의 차이와 Nested Loop, Sort-Merge, Hash Join의 동작 방식, 인덱스의 영향을 정리한다.

    3분 읽기
  5. 05

    트랜잭션의 ACID와 DBMS의 복구 전략: UNDO, REDO, WAL

    ACID 속성을 짚고, DBMS가 버퍼 관리 정책과 로그로 원자성과 지속성을 보장하는 방식을 정리한다.

    5분 읽기
  6. 06

    데이터베이스 Lock: 공유 락·배타 락, 낙관적 락·비관적 락

    Shared Lock과 Exclusive Lock의 차이, 그리고 충돌을 다루는 두 전략인 낙관적 락과 비관적 락을 정리한다.

    2분 읽기
  7. 07

    DB 클러스터링, 레플리케이션, 샤딩과 분산 트랜잭션

    클러스터링과 레플리케이션의 차이, 2PC와 Saga, 복제 지연 대응(Semi-Sync, MHA), 샤딩 방식을 한 번에 정리한다.

    4분 읽기
  8. 08

    PostgreSQL Vacuum 이해와 AutoVacuum 튜닝

    PostgreSQL의 MVCC에서 Dead Tuple이 쌓이는 이유와 Vacuum 동작, AutoVacuum 실행 조건과 튜닝을 정리한다.

    7분 읽기