日韩精品 中文字幕 动漫,91亚洲午夜一区,在线不卡日本v一区v二区丶,久久九九国产精品自在现拍

注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫設(shè)計(jì)/管理PostgreSQL指南:內(nèi)幕探索

PostgreSQL指南:內(nèi)幕探索

PostgreSQL指南:內(nèi)幕探索

定 價(jià):¥79.00

作 者: (日)鈴木啟修
出版社: 電子工業(yè)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787121357091 出版時(shí)間: 2019-06-01 包裝: 平裝
開本: 16開 頁數(shù): 244 字?jǐn)?shù):  

內(nèi)容簡介

  本書介紹了 PostgreSQL 內(nèi)部的工作原理,包括數(shù)據(jù)庫對象的邏輯組織與物理實(shí)現(xiàn),進(jìn)程與內(nèi)存的架構(gòu)。并依次剖析了幾個(gè)重要的子系統(tǒng):查詢處理、外部數(shù)據(jù)包裝器、并發(fā)控制、清理過程、緩沖 區(qū)管理、WAL、備份及流復(fù)制。本書為 DBA 與系統(tǒng)開發(fā)者提供了一幅全景概念地圖,有助于讀者形 成對數(shù)據(jù)庫實(shí)現(xiàn)的整體認(rèn)識(shí),亦可作為深入學(xué)習(xí) PostgreSQL 源代碼的導(dǎo)讀手冊,對于理解數(shù)據(jù)庫原 理與 PostgreSQL 內(nèi)部實(shí)現(xiàn)大有裨益。 本書適合數(shù)據(jù)庫開發(fā)人員及相關(guān)領(lǐng)域的研究人員、數(shù)據(jù)庫 DBA 及高等院校相關(guān)專業(yè)的學(xué)生閱讀。

作者簡介

  Hironobu Suzuki (鈴木啟修)畢業(yè)于北海道大學(xué)信息工程研究生院,獲得信息工程碩士學(xué)位,曾在多家公司擔(dān)任軟件開發(fā)人員和技術(shù)經(jīng)理/技術(shù)主管。在數(shù)據(jù)庫和系統(tǒng)集成領(lǐng)域出版了7本書。2010年—2016年擔(dān)任日本PostgreSQL用戶組的主任,連續(xù)7年組織了日本PostgreSQL技術(shù)研討會(huì),并擔(dān)任日本2013年P(guān)ostgreSQL大會(huì)的委員會(huì)主席。

圖書目錄

目錄 

第1章  數(shù)據(jù)庫集簇、數(shù)據(jù)庫和數(shù)據(jù)表... 1

1.1 數(shù)據(jù)庫集簇的邏輯結(jié)構(gòu)... 1

1.2 數(shù)據(jù)庫集簇的物理結(jié)構(gòu)... 2

1.2.1 數(shù)據(jù)庫集簇的布局... 3

1.2.2 數(shù)據(jù)庫布局... 4

1.2.3 表和索引相關(guān)文件的布局... 5

1.2.4 PostgreSQL中表空間的布局... 7

1.3 堆表文件的內(nèi)部布局... 8

1.4 讀寫元組的方式... 11

1.4.1 寫入堆元組... 11

1.4.2 讀取堆元組... 12

第2章  進(jìn)程和內(nèi)存架構(gòu)... 14

2.1 進(jìn)程架構(gòu)... 14

2.1.1 Postgres服務(wù)器進(jìn)程... 15

2.1.2 后端進(jìn)程... 15

2.1.3 后臺(tái)進(jìn)程... 16

2.2 內(nèi)存架構(gòu)... 17

2.2.1 本地內(nèi)存區(qū)域... 17

2.2.2 共享內(nèi)存區(qū)域

第3章  查詢處理... 19

3.1 概覽... 20

3.1.1 解析器... 20

3.1.2 分析器... 22

3.1.3 重寫器... 24

3.1.4 計(jì)劃器與執(zhí)行器... 25

3.2 單表查詢的代價(jià)估計(jì)... 27

3.2.1 順序掃描... 28

3.2.2 索引掃描... 29

3.2.3 排序... 36

3.3 創(chuàng)建單表查詢的計(jì)劃樹... 38

3.3.1 預(yù)處理... 41

3.3.2 找出代價(jià)最小的訪問路徑... 42

3.3.3 創(chuàng)建計(jì)劃樹... 51

3.4 執(zhí)行器如何工作... 55

3.5 連接... 57

3.5.1 嵌套循環(huán)連接... 57

3.5.2 歸并連接... 63

3.5.3 散列連接... 67

3.5.4 連接訪問路徑與連接節(jié)點(diǎn)... 73

3.6 創(chuàng)建多表查詢計(jì)劃樹... 76

3.6.1 預(yù)處理... 76

3.6.2 獲取代價(jià)最小的路徑... 77

3.6.3 獲取三表查詢代價(jià)最小的路徑... 81

參考文獻(xiàn)... 83

第4章  外部數(shù)據(jù)包裝器... 84

4.1 概述... 85

4.1.1 創(chuàng)建一棵查詢樹... 86

4.1.2 連接至遠(yuǎn)程服務(wù)器... 86

4.1.3 使用EXPLAIN命令創(chuàng)建計(jì)劃樹(可選)... 87

4.1.4 逆解析... 87

4.1.5 發(fā)送SQL命令并接收結(jié)果... 88

4.2 postgres_fdw的工作原理... 90

4.2.1 多表查詢... 91

4.2.2 排序操作... 97

4.2.3 聚合函數(shù)... 98

第5章  并發(fā)控制... 101

5.1 事務(wù)標(biāo)識(shí)... 103

5.2 元組結(jié)構(gòu)... 104

5.3 元組的增、刪、改... 106

5.3.1 插入... 106

5.3.2 刪除... 107

5.3.3 更新... 108

5.3.4 空閑空間映射... 109

5.4 提交日志... 110

5.4.1 事務(wù)狀態(tài)... 110

5.4.2 提交日志如何工作... 110

5.4.3 提交日志的維護(hù)... 111

5.5 事務(wù)快照... 111

5.6 可見性檢查規(guī)則... 114

5.6.1 t_xmin的狀態(tài)為ABORTED.. 115

5.6.2 t_xmin的狀態(tài)為IN_PROGRESS. 115

5.6.3 t_xmin的狀態(tài)為COMMITTED.. 116

5.7 可見性檢查... 118

5.7.1 可見性檢查的過程... 118

5.7.2 PostgreSQL可重復(fù)讀等級(jí)中的幻讀... 122

5.8 防止丟失更新... 122

5.8.1 并發(fā)UPDATE命令的行為... 123

5.8.2 例子... 125

5.9 可串行化快照隔離... 127

5.9.1 SSI實(shí)現(xiàn)的基本策略... 127

5.9.2 PostgreSQL的SSI實(shí)現(xiàn)... 128

5.9.3 SSI的原理... 129

5.9.4 假陽性的串行化異常... 132

5.10 需要的維護(hù)進(jìn)程... 134

參考文獻(xiàn)... 136

第6章  清理過程... 137

6.1 并發(fā)清理概述... 138

6.1.1 第一部分... 139

6.1.2 第二部分... 140

6.1.3 第三部分... 140

6.1.4 后續(xù)處理... 141

6.2 可見性映射... 141

6.3 凍結(jié)過程... 142

6.3.1 惰性模式... 142

6.3.2 迫切模式... 143

6.3.3 改進(jìn)迫切模式中的凍結(jié)過程... 146

6.4 移除不必要的CLOG文件... 147

6.5 自動(dòng)清理守護(hù)進(jìn)程... 148

6.6 完整清理... 148

第7章  堆內(nèi)元組和僅索引掃描... 153

7.1 堆內(nèi)元組... 153

7.1.1 沒有HOT時(shí)的行更新... 153

7.1.2 HOT如何工作... 154

7.2 僅索引掃描... 157

第8章  緩沖區(qū)管理器... 160

8.1 概覽... 161

8.2 緩沖區(qū)管理器的結(jié)構(gòu)... 163

8.2.1 緩沖表... 164

8.2.2 緩沖區(qū)描述符... 165

8.2.3 緩沖區(qū)描述符層... 167

8.2.4 緩沖池... 169

8.3 緩沖區(qū)管理器鎖... 169

8.3.1 緩沖表鎖... 170

8.3.2 緩沖區(qū)描述符相關(guān)的鎖... 170

8.4 緩沖區(qū)管理器的工作原理... 174

8.4.1 訪問存儲(chǔ)在緩沖池中的頁面... 174

8.4.2 將頁面從存儲(chǔ)加載到空槽... 175

8.4.3 將頁面從存儲(chǔ)加載到受害者緩沖池槽... 176

8.4.4 頁面替換算法:時(shí)鐘掃描... 178

8.5 環(huán)形緩沖區(qū)... 180

8.6 臟頁刷盤... 181

第9章  WAL. 182

9.1 概述... 183

9.1.1 沒有WAL的插入操作... 183

9.1.2 插入操作與數(shù)據(jù)庫恢復(fù)... 184

9.1.3 整頁寫入... 186

9.2 事務(wù)日志與WAL段文件... 188

9.3 WAL段文件的內(nèi)部布局... 190

9.4 WAL記錄的內(nèi)部布局... 191

9.4.1 WAL記錄首部部分... 191

9.4.2 XLOG記錄的數(shù)據(jù)部分(9.4及更低版本)... 193

9.4.3 XLOG記錄的數(shù)據(jù)部分(9.5及更高版本)... 196

9.5 WAL記錄的寫入... 200

9.6 WAL寫入進(jìn)程... 203

9.7 PostgreSQL中的檢查點(diǎn)進(jìn)程... 203

9.7.1 檢查點(diǎn)進(jìn)程概述... 204

9.7.2 pg_crontrol文件... 205

9.8 PostgreSQL中的數(shù)據(jù)庫恢復(fù)... 206

9.9 WAL段文件管理... 209

9.9.1 WAL段切換... 209

9.9.2 WAL段管理(9.5及更高版本)... 209

9.9.3 WAL段管理(9.4及更低版本)... 211

9.10 持續(xù)歸檔與歸檔日志... 212

第10章  基礎(chǔ)備份與時(shí)間點(diǎn)恢復(fù)... 214

10.1 基礎(chǔ)備份... 215

10.1.1 pg_start_backup. 215

10.1.2 pg_stop_backup. 217

10.2 時(shí)間點(diǎn)恢復(fù)(PITR)的工作原理... 217

10.3 時(shí)間線與時(shí)間線歷史文件... 220

10.3.1 時(shí)間線標(biāo)識(shí)... 220

10.3.2 時(shí)間線歷史文件... 221

10.4 時(shí)間點(diǎn)恢復(fù)與時(shí)間線歷史文件... 222

第11章  流復(fù)制... 224

11.1 流復(fù)制的啟動(dòng)... 225

11.2 如何實(shí)施流復(fù)制... 227

11.2.1 主從間的通信... 227

11.2.2 發(fā)生故障時(shí)的行為... 229

11.3 管理多個(gè)備庫... 229

11.3.1 同步優(yōu)先級(jí)與同步狀態(tài)... 229

11.3.2 主庫如何管理多個(gè)備庫... 230

11.3.3 發(fā)生故障時(shí)的行為... 231

11.4 備庫的故障檢測... 232

 

 


本目錄推薦

掃描二維碼
Copyright ? 讀書網(wǎng) rgspecialties.com 2005-2020, All Rights Reserved.
鄂ICP備15019699號(hào) 鄂公網(wǎng)安備 42010302001612號(hào)