독서기록 : [막힘없이 PostgreSQL] - 임경석, 김철환, 박관규, 김규민
(2025.2.26 ~ 2025.4.23 완독!)
- PostgreSQL 초중급 독자를 대상으로 성능 관리를 위해 반드시 알아야 할 핵심 주제들로 구성
- 아키텍처, 트랜잭션, MVCC, Vacuum, 락(Lock), SQL 실행계획 등 PostgreSQL의 핵심 기능 다룸
- 단순히 이론만 다루는 것을 넘어, 다양한 테스트와 검증을 통해 내부 작동 원리를 명확히 이해할 수 있도록 함
- 모든 테스트는 PostgreSQL 14 버전 이상에서 수행할 수 있도록 구성
출판사 : 엑셈
종이책/전자책 출간일 : 2025.01.23
ISBN : 9791188427239
총 페이지수 : 402p
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 I/O 전략
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 (LW Locks)
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) 모니터링
2.1 테이블 팽창 (Bloating) 모니터링
3. SQL 모니터링
3.1 pg_stat_statements
3.2 pg_stat_monitor
'Data Engineering' 카테고리의 다른 글
SQLD 2과목 Part3 정리 [관리 구문] (0) | 2025.05.02 |
---|---|
SQLD 2과목 Part2 정리 [SQL 활용] (0) | 2025.05.01 |
SQLD 2과목 Part1 정리 [SQL 기본] (0) | 2025.04.30 |
SQLD 1과목 정리 [데이터 모델링의 이해] (0) | 2025.04.30 |
SQLD 자격증 시험 기본정보 (0) | 2025.04.29 |