막힘없이 PostgreSQL

도서명:막힘없이 PostgreSQL
저자/출판사:임경석 , 김철환 , 박관규 , 김규민/엑셈
쪽수:397쪽
출판일:2025-01-23
ISBN:9791188427222
목차
CHAPTER 01 PostgreSQL 아키텍처
1. 주요 프로세스
1.1 Postmaster 프로세스
1.2 Backend 프로세스
1.3 Background 프로세스
2. 메모리
2.1 공유 메모리(Shared Memory)
2.2 로컬 메모리(Local Memory)
3. PostgreSQL 구조
3.1 논리 구조(Logical Structure)
3.2 물리 구조(Physical Structure)
4. Shared Buffer
4.1 Shared Buffer 구성 요소
4.2 Shared Buffer에서 데이터 읽기
4.3 Clock Sweep
4.4 PostgreSQL IO 전략
5. WAL(Write-Ahead Log)
5.1 WAL 세그먼트 파일
5.2 체크포인트(Checkpoint)
5.3 WAL 세그먼트 파일관리
5.4 WAL 레코드 기록하기
5.5 WAL 파일을 이용한 데이터 복구
CHAPTER 02 트랜잭션과 MVCC
1. 트랜잭션 격리 수준(Transaction Isolation Level)
1.1 PostgreSQL에서의 격리 수준
2. 데이터 저장 구조
2.1 페이지 구조
2.2 Transaction ID
2.3 튜플 구조
2.4 튜플 버전
2.5 인덱스와 튜플
3. 스냅샷(Snapshot)
3.1 스냅샷이란?
3.2 스냅샷과 튜플 가시성
3.3 스냅샷과 데이터베이스 Horizon
3.4 Exporting Snapshot
3.5 Snapshot too old
4. 단일 페이지 정리와 HOT 업데이트
4.1 Fillfactor
4.2 단일 페이지 정리(Single Page Cleanup)
4.3 HOT(Heap Only Tuple) Update
5. MVCC(Multi Version Concurrency Control)
5.1 MVCC란?
5.2 XID 순환 구조와 Frozen XID
5.3 Age
6. Vacuum and Autovacuum
6.1 Vacuum
6.2 Autovacuum
CHAPTER 03 락(LOCK)
1. 객체 레벨 락(Object Level Lock)
1.1 객체 타입
1.2 객체 락 모드
2. 행 레벨 락(Row Level Lock)
2.1 행 레벨 락 모드
2.2 다중 트랜잭션(Multitransactions)
2.3 튜플 락 대기
2.4 Dead Lock
3. 메모리 레벨 락(Memory Level Lock)
3.1 Light-Weight Lock(LWLocks)
3.2 Spinlocks
3.3 Buffer Pin Lock
3.4 WAL Buffer Lock
3.5 메모리 락 모니터링
CHAPTER 04 SQL Execution
1. Cost Based Optimizer
1.1 CBO Cost
2. PostgreSQL 통계정보
2.1 수동 통계정보 수집
2.2 통계정보 관리
3. 실행 계획
3.1 실행계획 추출 방법
3.2 실행계획 분석
4. SQL처리 과정
4.1 SQL 처리 프로세스
4.2 Prepare Statement
5. 스캔 방법(Scan Method)
5.1 Sequential Scan
5.2 Index Scan
5.3 Bitmap Index Scan
5.4 Index Only Scan
5.5 Covering Index
6. 조인 방법(Join Method)
6.1 Nested Loop Join
6.2 Hash Join
6.3 Sort-Merge Join
Appendix
1. 격리 수준에 따른 이상 현상
1.1 Read Committed
1.2 Repeatable Read
1.3 Serializable
2. 테이블 팽창(Bloating) 모니터링
3. SQL 모니터링
3.1 pg_stat_statements
3.2 pg_stat_monitor