데이터베이스 엔지니어링 & SQL 성능 튜닝
PostgreSQL과 MySQL을 기반으로 관계형 데이터베이스의 내부 동작 원리를 깊이 있게 학습합니다. 슬로우 쿼리 분석, 실행 계획 해석, 인덱스 튜닝 및 NoSQL 아키텍처를 마스터합니다.
관계형 데이터 모델링 & 개체-관계(ER) 다이어그램
엔티티 정의, 식별/비식별 관계, 1:1, 1:N, N:M 관계의 물리 테이블 매핑
정규화 이론(1NF ~ BCNF)과 실무 반정규화 전략
삽입/갱신/삭제 이상(Anomaly) 제거, 함수 종속성 분석, 조회 성능을 위한 의도적 반정규화
고급 SQL 작성: JOIN 메커니즘 & 서브쿼리 최적화
Nested Loop Join vs Hash Join vs Merge Join, 상관 서브쿼리와 EXISTS 튜닝
윈도우 함수(Window Functions) & CTE 재귀 쿼리
ROW_NUMBER(), RANK(), LEAD/LAG 집계, WITH RECURSIVE를 활용한 계층형 트리 쿼리
B-Tree & B+Tree 인덱스 내부 구조와 검색 원리
인덱스 페이지 구조, 루트/브랜치/리프 노드, 클러스터드 인덱스 vs 세컨더리 인덱스
실행 계획(EXPLAIN / EXPLAIN ANALYZE) 완벽 분석
Full Table Scan vs Index Scan vs Index Range Scan, 비용(Cost) 및 실제 실행 시간 해석
복합 인덱스(Composite Index) 설계 공식 & 컬럼 순서
동등 비교 vs 범위 비교 컬럼 배치 우선순위, 인덱스 스킵 스캔, 커버링 인덱스(Covering Index)
트랜잭션(ACID)과 격리 수준(Isolation Level)
Dirty Read, Non-repeatable Read, Phantom Read, Read Committed vs Repeatable Read vs Serializable
동시성 제어: 낙관적 락 vs 비관적 락 & 데드락(Deadlock)
SELECT FOR UPDATE 배타락, 버전 컬럼 기반 낙관적 검증, 데드락 발생 조건 및 회피 기법
파티셔닝(Partitioning) & 샤딩(Sharding) 분산 전략
Range/List/Hash 파티셔닝, 대용량 테이블 분할 관리, 데이터베이스 스케일아웃 원리
NoSQL 데이터베이스(Redis, MongoDB)와 캐싱 아키텍처
In-Memory 캐시(Redis), Look-aside / Write-through 패턴, Document DB 데이터 모델링
최종 프로젝트: 슬로우 쿼리 10종 리팩토링 & 100만 건 벤치마킹
대용량 더미 데이터셋 생성, 실행 시간 90% 단축 인덱스 튜닝 리포트 작성