發表於2024-12-15
包郵 [按需印刷]PostgreSQL數據庫內核分析 計算機與互聯網 書…|198803 pdf epub mobi txt 電子書 下載
書名: | PostgreSQL數據庫內核分析[按需印刷]|198803 |
圖書定價: | 79元 |
圖書作者: | 彭智勇;彭煜瑋 |
齣版社: | 機械工業齣版社 |
齣版日期: | 2012/1/1 0:00:00 |
ISBN號: | 9787111359050 |
開本: | 16開 |
頁數: | 446 |
版次: | 1-1 |
內容簡介 |
PostgreSQL是目前廣泛應用的開源數據庫管理係統。本書從PostgreSQL數據庫的源代碼入手,深入分析瞭該數據庫管理係統的底層實現細節,揭示瞭數據庫運行的基本原理。本書的主要內容包括:PostgreSQL數據庫的體係結構、 存儲管理、索引機製、查詢編譯、查詢執行、並發控製機製以及安全等。每個主題都引用瞭大量的數據結構、圖錶等進行說明,使讀者對實現過程和機理一目瞭然。 《PostgreSQL數據庫內核分析》適閤從事數據庫領域相關研究的技術人員、高等院校相關專業高年級本科生或研究生閱讀,有助於讀者進行數據庫的高級開發、基於PostgreSQL定製滿足需求的數據庫係統,或者在數據庫內核中實現並驗證數據庫新技術。 |
目錄 |
《PostgreSQL數據庫內核分析》 前 言 第1章 PostgreSQL係統概述/1 1.1 PostgreSQL簡介及發展曆程/1 1.2 PostgreSQL的特性/2 1.3 PostgreSQL的應用/3 1.4 PostgreSQL代碼結構/3 1.5 安裝PostgreSQL/4 1.6 PostgreSQL數據庫命令/5 第2章 PostgreSQL的體係結構/7 2.1 係統錶/8 2.1.1 主要係統錶功能及依賴關係/8 2.1.2 係統視圖/14 2.2 數據集簇/15 2.2.1 initdb的使用/17 2.2.2 postgres.bki/17 2.2.3 initdb的執行過程/19 2.2.4 係統數據庫/20 2.3 PostgreSQL進程結構/21 2.4 守護進程Postmaster/22 2.4.1 初始化內存上下文/23 2.4.2 配置參數/23 2.4.3 創建監聽套接字/28 2.4.4 注冊信號處理函數/29 2.4.5 輔助進程啓動/31 2.4.6 裝載客戶端認證文件/32 2.4.7 循環等待客戶連接請求/33 2.5 輔助進程/34 2.5.1 SysLogger係統日誌進程/34 2.5.2 BgWriter後颱寫進程/36 2.5.3 WalWriter預寫式日誌寫進程/38 2.5.4 PgArch預寫式日誌歸檔進程/40 2.5.5 AutoVacuum係統自動清理進程/41 2.5.6 PgStat統計數據收集進程/44 2.6 服務進程Postgres/47 2.6.1 初始化內存環境/48 2.6.2 配置運行參數和處理客戶端傳遞的GUC參數/48 2.6.3 設置信號處理和信號屏蔽/48 2.6.4 初始化Postgres的運行環境/49 2.6.5 創建內存上下文並設置查詢取消跳躍點/50 2.6.6 循環等待處理查詢/50 2.6.7 簡單查詢的執行流程/52 2.7 小結/53 第3章 存儲管理/54 3.1 存儲管理器的體係結構/54 3.2 外存管理/57 3.2.1 錶和元組的組織方式/58 3.2.2 磁盤管理器/60 3.2.3 VFD機製/61 3.2.4 空閑空間映射錶/64 3.2.5 可見性映射錶/69 3.2.6 大數據存儲/69 3.3 內存管理/76 3.3.1 內存上下文概述/77 3.3.2 高速緩存/84 3.3.3 緩衝池管理/94 3.3.4 IPC/102 3.4 錶操作與元組操作/106 3.4.1 錶操作/106 3.4.2 元組操作/112 3.5 VACUUM機製/115 3.5.1 VACUUM操作/115 3.5.2 Lazy VACUUM/116 3.5.3 Full VACUUM/118 3.6 ResourceOwner資源跟蹤/120 3.7 小結/122 第4章 索引/123 4.1 概述/123 4.1.1 索引方式/124 4.1.2 索引類型/125 4.1.3 索引相關係統錶/125 4.1.4 索引的操作函數/129 4.2 B-Tree索引/131 4.2.1 B-Tree索引的組織結構/132 4.2.2 B-Tree索引的操作/135 4.3 Hash索引/146 4.3.1 Hash索引的組織結構/147 4.3.2 Hash索引的實現/153 4.4 GiST索引/161 4.4.1 GiST的擴展性/161 4.4.2 GiST索引的組織結構/162 4.4.3 GiST索引的實現/163 4.4.4 GiST索引實例/166 4.5 GIN索引/168 4.5.1 GIN索引的擴展性/168 4.5.2 GIN索引的組織結構/170 4.5.3 GIN索引的操作/172 4.6 TSearch2全文搜索/179 4.6.1 全文索引的創建/180 4.6.2 全文索引的查詢/184 4.6.3 查詢結果處理/185 4.7 小結/186 第5章 查詢編譯/187 5.1 概述/187 5.2 查詢分析/188 5.2.1 Lex和Yacc簡介/189 5.2.2 詞法和語法分析/193 5.2.3 語義分析/208 5.3 查詢重寫/218 5.3.1 規則係統/219 5.3.2 查詢重寫的處理操作/224 5.4 查詢規劃/228 5.4.1 總體處理流程/229 5.4.2 預處理/237 5.4.3 生成路徑/240 5.4.4 生成可優化的MIN/MAX聚集計劃/253 5.4.5 生成普通計劃/254 5.4.6 生成完整計劃/257 5.4.7 整理計劃樹/259 5.4.8 實例分析/260 5.5 代價估計/266 5.5.1 代價估算公式/267 5.5.2 選擇度/268 5.5.3 單個錶的掃描代價/268 5.5.4 兩個錶的連接代價/268 5.6 PostgreSQL中的遺傳算法/268 5.6.1 個體編碼方式及種群初始化/269 5.6.2 適應值/270 5.6.3 父體選擇策略/270 5.6.4 雜交算子/270 5.6.5 變異算子/275 5.6.6 終止條件/275 5.6.7 基於排列生成路徑/276 5.6.8 實例分析/276 5.7 小結/280 第6章 查詢執行/282 6.1 查詢執行策略/283 6.1.1 可優化語句和數據定義語句/284 6.1.2 四種執行策略/284 6.1.3 策略選擇的實現/286 6.1.4 Portal執行的過程/288 6.2 數據定義語句執行/289 6.2.1 數據定義語句執行流程/289 6.2.2 執行實例/290 6.2.3 主要的功能處理器函數/293 6.3 可優化語句執行/293 6.3.1 物理代數與處理模型/294 6.3.2 物理操作符的數據結構/295 6.3.3 執行器的運行/297 6.3.4 執行實例/301 6.4 計劃節點/303 6.4.1 控製節點/304 6.4.2 掃描節點/310 6.4.3 物化節點/319 6.4.4 連接節點/328 6.5 其他子功能介紹/334 6.5.1 元組操作/334 6.5.2 錶達式計算/337 6.5.3 投影操作/340 6.6 小結/342 第7章 事務處理與並發控製/343 7.1 事務係統簡介/343 7.2 事務係統的上層/344 7.2.1 事務塊狀態/345 7.2.2 事務塊操作/346 7.3 事務係統的底層/348 7.3.1 事務狀態/348 7.3.2 事務操作函數/350 7.3.3 簡單查詢事務執行過程實例/352 7.4 事務保存點和子事務/353 7.4.1 保存點實現原理/353 7.4.2 子事務/353 7.5 兩階段提交/354 7.5.1 預提交階段/354 7.5.2 全局提交階段/355 7.6 PostgreSQL的並發控製/355 7.7 PostgreSQL中的三種鎖/357 7.7.1 SpinLock/357 7.7.2 LWLock/358 7.7.3 RegularLock/360 7.8 鎖管理機製/368 7.8.1 錶粒度的鎖操作/368 7.8.2 頁粒度的鎖操作/369 7.8.3 元組粒度的鎖操作/369 7.8.4 事務粒度的鎖操作/369 7.8.5 一般對象的鎖操作/369 7.9 死鎖處理機製/370 7.9.1 死鎖處理相關數據結構/371 7.9.2 死鎖處理相關操作/372 7.10 多版本並發控製/373 7.10.1 MVCC相關數據結構/373 7.10.2 MVCC相關操作/375 7.10.3 MVCC與快照/379 7.11 日誌管理/380 7.11.1 SLRU緩衝池/381 7.11.2 CLOG日誌管理器/386 7.11.3 SUBTRANS日誌管理器/390 7.11.4 MULTIXACT日誌管理器/392 7.11.5 XLOG日誌管理器/394 7.11.6 日誌管理器總結/402 7.12 小結/403 第8章 數據庫安全/404 8.1 PostgreSQL安全簡介/404 8.2 用戶標識和認證/405 8.2.1 客戶端配置文件/406 8.2.2 認證方法/408 8.2.3 客戶端認證/410 8.3 基於角色的權限管理/413 8.3.1 用戶和角色/413 8.3.2 角色相關的係統錶/415 8.3.3 角色管理/416 8.4 對象訪問控製/426 8.4.1 訪問控製列錶/426 8.4.2 對象權限管理/428 8.4.3 對象權限檢查/432 8.5 小結/433 附錄A 用Eclipse開發和調試PostgreSQL/434 |
包郵 [按需印刷]PostgreSQL數據庫內核分析 計算機與互聯網 書…|198803 pdf epub mobi txt 電子書 下載