막힘없이 PostgreSQL
PostgreSQL 성능관리를 위한 핵심 매커니즘
Regular price
$35.96
Sale price
Regular price
✈️
Estimated delivery date 예상 배송일
Standard Shipping
불러오는 중...
주문일로부터 8-12 영업일
Express Shipping
불러오는 중...
주문일로부터 6-8 영업일
Couldn't load pickup availability
출판사 리뷰
출판사 리뷰
목차
목차
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
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
저자
저자
임경석
(주)엑셈 DB기술본부의 이사로 재직 중이며, 데이터베이스 튜닝 컨설팅 사업을 총괄하고 있다. 포스코, 한국거래소, 우리은행, 삼성전자, LG전자, SK하이닉스 등 다수의 고객사 컨설팅 및 성능 분석을 수행하였다. 옮긴 책으로는 "오라클 코어 : DBA와 개발자를 위한 필수 매커니즘"이 있다.
Payment & Security
Payment methods
Your payment information is processed securely. We do not store credit card details nor have access to your credit card information.

