PostgreSQL Performance Tuning, End to End
느린 쿼리와 잘못 구성된 데이터베이스는 프로덕션 환경에서 애플리케이션 병목 현상의 가장 흔한 원인입니다. 이 과정은 첫 번째 EXPLAIN 출력을 읽는 것부터 MVCC 내부 구조, WAL 동작, 논리 복제 토폴로지에 대해 추론하기까지 PostgreSQL을 진단, 튜닝, 확장하는 방법을 가르칩니다. 모든 기법은 일반적인 조언이 아닌 PostgreSQL이 실제로 어떻게 작동하는지를 기반으로 합니다.
학습 내용
B-tree, GIN, GiST, BRIN, 부분 인덱스를 포함한 인덱스 선택을 마스터한 후 이러한 기술을 JSONB 컬럼, 전문 검색, 삼글자 매칭에 적용합니다. EXPLAIN ANALYZE로 생성된 쿼리 플랜을 읽고 해석하는 방법, 효율성을 위해 서브쿼리와 조인을 다시 작성하는 방법, autovacuum과 bloat을 제어하는 방법, 연결 풀링을 위해 pg_bouncer를 구성하는 방법, 서버 메모리와 체크포인트 설정을 튜닝하는 방법, 대용량 테이블을 분할하는 방법, 확장 통계를 사용하여 플래너가 더 나은 결정을 내리도록 돕는 방법을 배웁니다. 고급 섹션에서는 동시성과 잠금, 병렬 쿼리 실행, 논리 복제, 모든 최적화 선택을 뒷받침하는 MVCC와 WAL 내부 구조를 다룹니다.
학습 경로
22개의 과정이 A2부터 B1, B2, C1, 그리고 C2까지 진행됩니다. 첫 번째 과정은 핵심 성능 개념과 용어를 소개합니다. B1 과정은 실용적인 기초를 다룹니다: 필수 인덱싱 전략, EXPLAIN 기반 분석, JSONB 모델링, 대량 로드 처리량, vacuuming을 통한 트랜잭션 관리. B2 과정은 고급 인덱스 유형, 조인 및 서브쿼리 최적화, 서버 구성, 모니터링, 테이블 분할, 저장소 효율성, 전문 검색 성능, PgBouncer 튜닝으로 나아갑니다. C1 과정은 성능을 위한 데이터 모델링, 고급 쿼리 재작성, 동시성과 잠금, 확장 통계, 병렬 쿼리 워크로드로 이동합니다. 마지막 두 C2 과정은 확장성과 고가용성 아키텍처, 논리 복제 패턴, MVCC와 WAL 내부 구조의 깊이 있는 살펴보기로 과정을 마무리합니다.
작동 방식
각 과정은 실시간 피드백과 함께 기본 제공 SQL 편집기에서 완료하는 짧고 집중된 레슨으로 나뉩니다. 개념 설명이 필요하거나 쿼리가 예상대로 작동하지 않을 때마다 AI 튜터가 사용 가능합니다.