1. RDBMS의 메모리 아키텍처
1.1. DBMS 아키텍처의 발전 30
톰 길번과 가상메모리 그리고 페이징 30
찰스 바크만과 DBMS의 탄생 30
IBM System/360과 ISAM 31
번 와츠와 IMS/DB 31
E. F. Codd 박사의 RDBMS 논문과 System R 프로젝트 32
마이클 스톤브레이커와 Ingres 프로젝트 33
RDBMS를 완성한 시대의 천재 밥 마이너 33
밥 엡스타인과 Sybase DB 33
오픈소스 DBMS의 시대 34
컬럼 스토어 DBMS 34
RDBMS의 전성기와 새로운 도전 35
NoSQL의 등장 35
분산 처리와 하둡 36
분산 원장 DBMS인 블록체인 36
1.2. 가상 메모리와 페이징 38
페이징의 필요성 38
가상 메모리 39
페이지 교체 알고리즘 42
1.3. DBMS의 Buffer Management 52
Buffer manager의 개념 52
첫 번째 흐름 LRU Buffer Replacement Algorithm 54
두 번째 흐름 Clock Buffer Replacement Algoithm 56
1.4. DBMS 메모리 아키텍처의 비교57
해시 함수의 Input Parameter와 버킷서치 알고리즘 58
버퍼 교체 알고리즘 66
버퍼 리스트 관리 66
멀티플 버퍼 풀 68
리두 로그 메커니즘 70
리두 로그의 식별자 메커니즘 72
멀티플 로그 버퍼 72
SQL 공유 메커니즘 72
Insert문 성능향상 메커니즘 73
트랜잭션 상태보관 메커니즘 74
2. Oracle의 메모리 아키텍처
2.1. SGA(System Global Area) 개요 78
IPC(Inter-Process Communication) 80
Granule 83
Shared Pool 87
2.2. Library Cache 95
Library Cache 구조 95
Library Cache의 동작 104
2.3. Buffer Cache 127
Buffer Cache의 구조 127
Buffer Cache의 동작 147
2.4. Redo Log Buffer Cache 155
Redo Log Buffer Cache의 구조 155
Redo Log Buffer Cache의 동작 169
3. PostgreSQL의 메모리 아키텍처
3.1. Shared Buffers 183
Hash Table 186
해시 함수의 Input Parameter와 버킷서치 알고리즘 194
Buffer Pool 197
Clock Sweep 알고리즘 204
Disk Read 시나리오 209
3.2. WAL Buffers 222
WAL Segment File의 구조 222
pg_xlogdump 229
3.3. CLog Buffers 238
4. MySQL의 메모리 아키텍처
4.1. MySQL 아키텍처 244
InnoDB Overview 244
Storage Engine Overview 245
Shared Memory Overview 246
4.2. Buffer Pool 247
Buffer Pool Routines 247
Buffer Pool Instance 247
Buffer Pool의 전반적 구조 249
Buffer Pool의 주요 구조체 251
해시 함수의 Input Parameter와 버킷서치 알고리즘 265
Disk Read 시나리오 267
Insert Buffer 283
4.3. Redo Log 286
Redo Log Buffer 286
Redo Log File 287
Redo Logging Process 293
Log_sys 294
4.4. Doublewrite Buffer 295
5. 레퍼런스
6. 표그림 리스트