SELECT 한 줄이 디스크에 닿을 때까지 무슨 일이 벌어지는가. B-Tree 인덱스가 왜 로그 시간인지, WAL이 왜 쓰기 성능의 비밀인지, MVCC가 어떻게 잠금 없이 읽기를 가능하게 하는지, 쿼리 플래너는 어떻게 실행 계획을 고르는지, 그리고 격리 수준의 미묘한 함정까지 — 40년 RDBMS 진화사와 함께 엔진의 속살을 파헤친다.
왜 PostgreSQL과 RocksDB는 다른 자료구조를 택했나. WAL이 없는 DB가 없는 이유. MVCC의 xmin/xmax, Vacuum이 느려지는 진짜 원인, BRIN/GIN/GiST/HNSW 인덱스, Query Planner가 같은 쿼리를 달리 실행하는 논리, Replication의 논리 vs 물리. '왜 DB는 느려지는가'에 대한 완전한 답.
PostgreSQL은 왜 "Oracle 다음으로 강력한 DB"가 되었을까? MVCC의 tuple 버저닝과 VACUUM의 숙명, WAL과 스트리밍 복제, Query Planner가 실행 계획을 만드는 법, B-Tree/GIN/BRIN/HNSW 인덱스의 선택, Partitioning과 Citus, pgBouncer, JSONB의 진실, pgvector로 보는 AI 시대의 RDBMS, PostgreSQL 18의 AIO까지 — "Postgres로 다 된다"는 신화의 실체.
PostgreSQL 내부의 모든 것 — 프로세스 아키텍처 (postmaster, backend, autovacuum, checkpointer, walwriter), 페이지와 heap tuple의 바이트 레이아웃, MVCC와 xmin/xmax/ctid, WAL과 checkpoint의 상호작용, Vacuum과 Visibility Map과 HOT update, B-tree와 GIN/GiST/BRIN 인덱스, Query Planner의 비용 추정과 Genetic Query Optimizer, shared_buffers와 OS 페이지 캐시의 이중 캐싱, Replication과 logical decoding까지 1,500줄로 정리한 Postgres 딥다이브.
1996년 Ingres 계보에서 파생된 PostgreSQL이 2024년 StackOverflow 개발자 설문 1위에 올랐다. pgvector가 Pinecone을 위협하고, JSONB가 MongoDB를 위협하고, Supabase/Neon이 Firebase를 위협한다. "하나의 DB로 모든 것"이라는 오래된 꿈이 현실이 된 배경 — MVCC의 우아함, Write-Ahead Logging, 확장 시스템, 그리고 AI 시대의 벡터 검색까지 추적한다.
DB 내부 구조의 모든 것! 스토리지 엔진(InnoDB/RocksDB/WiredTiger), B-Tree vs LSM-Tree, Buffer Pool, WAL(Write-Ahead Log), MVCC(다중 버전 동시성 제어), 쿼리 옵티마이저, 트랜잭션 격리 수준, 락(Lock) 메커니즘.