PostgreSQL의 내부 아키텍처를 프로세스/메모리 구조부터 MVCC, 인덱스, 쿼리 실행, 복제, 파티셔닝, 그리고 pgvector 같은 확장까지 깊이 있게 다룹니다. 핵심 메커니즘을 ASCII 다이어그램과 비교 테이블로 풀어내며, 버전별 차이가 있을 수 있는 부분은 일반화해 설명합니다.
데이터베이스를 "SQL 쓰는 곳"으로만 쓰면 평생 주니어다. B-Tree·LSM-Tree·Hash Index의 내부 구조, 쿼리 플래너가 쿼리를 어떻게 실행으로 바꾸는지, 트랜잭션 격리 수준 4단계, 샤딩·파티셔닝 전략, PostgreSQL의 2025년 독주 현상, 그리고 Vector DB(pgvector·Qdrant·Weaviate)까지 — DB의 내부를 회로도 수준으로 뜯는 한 편. Season 2의 열세 번째.
SELECT 한 줄이 디스크에 닿을 때까지 무슨 일이 벌어지는가. B-Tree 인덱스가 왜 로그 시간인지, WAL이 왜 쓰기 성능의 비밀인지, MVCC가 어떻게 잠금 없이 읽기를 가능하게 하는지, 쿼리 플래너는 어떻게 실행 계획을 고르는지, 그리고 격리 수준의 미묘한 함정까지 — 40년 RDBMS 진화사와 함께 엔진의 속살을 파헤친다.
PostgreSQL의 고급 인덱스 유형을 심층적으로 다룹니다. B-tree를 넘어 GIN(역인덱스), GiST(공간 인덱스), BRIN(블록 범위 인덱스), Partial/Expression Index의 내부 구조와 활용 시나리오, EXPLAIN ANALYZE 기반 성능 분석, 인덱스 블로트 관리까지 실전 가이드를 제공합니다.