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 내부의 모든 것 — 프로세스 아키텍처 (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 딥다이브.
PostgreSQL의 모든 복제 방식을 완전 분석. Physical streaming replication, synchronous vs async, logical decoding, failover 자동화 (Patroni), PgBouncer까지 — production PostgreSQL 운영의 모든 것을 720줄로 파헤친다.
전 세계에서 가장 많이 배포된 소프트웨어이자 1조 개 이상의 데이터베이스로 활동 중인 SQLite. 이 글은 SQLite의 내부를 처음부터 해부합니다. D. Richard Hipp의 2000년 설계부터 현재까지의 진화, B-tree 기반 페이지 저장, Rollback Journal과 WAL 모드의 차이, Pager와 Page Cache, VFS(Virtual Filesystem) 추상화, Virtual Table로 확장, Query Planner와 bytecode VM, FTS5 전문 검색, R-tree 공간 인덱스, 그리고 "가장 신뢰할 수 있는 소프트웨어"가 된 광적인 테스트 문화까지 — 가장 성공적인 임베디드 데이터베이스를 제대로 이해하고 싶은 엔지니어를 위한 종합 가이드입니다.
DB 내부 구조의 모든 것! 스토리지 엔진(InnoDB/RocksDB/WiredTiger), B-Tree vs LSM-Tree, Buffer Pool, WAL(Write-Ahead Log), MVCC(다중 버전 동시성 제어), 쿼리 옵티마이저, 트랜잭션 격리 수준, 락(Lock) 메커니즘.