注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當前位置: 首頁出版圖書科學技術計算機/網(wǎng)絡數(shù)據(jù)庫openGauss數(shù)據(jù)庫源碼解析

openGauss數(shù)據(jù)庫源碼解析

openGauss數(shù)據(jù)庫源碼解析

定 價:¥145.00

作 者: 李國良,張樹杰 著
出版社: 清華大學出版社
叢編項:
標 簽: 暫缺

ISBN: 9787302586173 出版時間: 2021-09-01 包裝: 平裝
開本: 16開 頁數(shù): 636 字數(shù):  

內(nèi)容簡介

  本書是針對openGauss開源數(shù)據(jù)庫的源碼進行分模塊解析的書籍。全書共分為10章。第1章對openGauss進行簡介。第2章介紹了內(nèi)核開發(fā)所需的入門知識,包括openGauss的安裝、基本使用、開發(fā)、編譯、參與社區(qū)開源項目等。第3~10章針對openGauss不同的功能模塊分別進行源碼介紹。第3章針對系統(tǒng)表、多線程架構、內(nèi)存管理等作用于整個數(shù)據(jù)庫系統(tǒng)的公共組件從定義、原理、流程等方面進行源碼介紹; 第4章介紹openGauss滿足OLTP、OLAP不同業(yè)務場景的存儲引擎實現(xiàn)及對應的源碼; 第5章介紹保證數(shù)據(jù)庫ACID屬性的事務機制的原理和源碼; 第6章介紹SQL 引擎的SQL解析和查詢優(yōu)化代碼主流程; 第7章介紹openGauss執(zhí)行器的整體架構和各類執(zhí)行算子的源碼; 第8章介紹openGauss在人工智能與數(shù)據(jù)庫結合領域探索的源碼; 第9章從系統(tǒng)整體角度出發(fā),針對 基礎和高階的安全能力進行全面介紹和源碼解讀; 第10章介紹openGauss的備份恢復機制的源碼,包括全量備份、增量備份所涉及的工具、交互流程和主要文件等。 本書可以作為內(nèi)核開發(fā)者了解openGauss數(shù)據(jù)庫并基于openGauss進行數(shù)據(jù)庫開發(fā)的參考教程,也可以作為廣大高校計算機專業(yè)“數(shù)據(jù)庫設計”課程的參考教材。

作者簡介

  李國良清華大學計算機系副主任、教授、博士生導師。在數(shù)據(jù)庫頂級會議和期刊上發(fā)表論文150余篇,他引10000余次。先后主持國家杰出青年科學基金、優(yōu)秀青年基金、“青年973”等多個項目。獲得VLDB青年貢獻獎,IEEE數(shù)據(jù)工程杰出新人獎,國家科學技術進步二等獎,VLDB、KDD、ICDE、CIKM最佳論文獎(提名獎)。擔任SIGMOD 2021大會主席。張樹杰華為數(shù)據(jù)庫技術專家,長期從事數(shù)據(jù)庫內(nèi)核開發(fā)工作,精通數(shù)據(jù)庫內(nèi)核原理和架構設計,目前在華為高斯實驗室負責GaussDB SQL引擎的開發(fā)和技術規(guī)劃,著有《PostgreSQL技術內(nèi)幕:查詢優(yōu)化深度探索》《PostgreSQL技術內(nèi)幕:事務處理深度探索》等圖書。

圖書目錄

第1章 openGauss簡介001
1.1 openGauss概述001
1.2 應用場景003
1.3 系統(tǒng)架構003
1.4 代碼結構004
1.4.1 通信管理004
1.4.2 SQL引擎006
1.4.3 存儲引擎020
1.5 價值特性034
1.5.1 高性能035
1.5.2 高擴展037
1.5.3 高可用038
1.5.4 可維護性039
1.5.5 數(shù)據(jù)庫安全040
1.5.6 AI能力043
1.6 本章小結044
第2章 openGauss開發(fā)快速入門045
2.1 安裝部署045
2.1.1 了解安裝流程045
2.1.2 準備軟硬件安裝環(huán)境046
2.1.3 修改操作系統(tǒng)配置048
2.1.4 設置root用戶遠程登錄050
2.1.5 獲取安裝包051
2.1.6 創(chuàng)建XML配置文件053
2.1.7 初始化安裝環(huán)境057
2.1.8 執(zhí)行安裝058
2.1.9 安裝驗證060
2.2 基本使用060
2.2.1 連接數(shù)據(jù)庫060
12 openGauss數(shù)據(jù)庫源碼解析
2.2.2 使用數(shù)據(jù)庫062
2.3 開發(fā)和編譯080
2.3.1 搭建開發(fā)環(huán)境080
2.3.2 搭建編譯環(huán)境085
2.3.3 版本編譯086
2.4 參與openGauss社區(qū)開源項目091
2.4.1 開源社區(qū)概述091
2.4.2 社區(qū)環(huán)境準備092
2.4.3 提交Issue 093
2.4.4 貢獻代碼和文檔094
2.4.5 Git使用099
2.5 本章小結100
第3章 公共組件源碼解析101
3.1 系統(tǒng)表101
3.1.1 系統(tǒng)表的定義101
3.1.2 系統(tǒng)表的訪問103
3.2 數(shù)據(jù)庫初始化103
3.3 多線程架構107
3.3.1 openGauss主要線程108
3.3.2 線程間通信108
3.3.3 線程初始化流程109
3.4 線程池技術111
3.4.1 線程池原理111
3.4.2 線程池實現(xiàn)112
3.5 內(nèi)存管理115
3.6 多維監(jiān)控120
3.7 模擬信號機制123
3.8 本章小結125
第4章 存儲引擎源碼解析126
4.1 存儲引擎整體架構與代碼126
4.2 磁盤引擎131
4.2.1 磁盤引擎整體框架與代碼131
4.2.2 行存儲統(tǒng)一訪存接口134
4.2.3 astore 137
目錄 13
4.2.4 ustore 158
4.2.5 行存儲索引機制181
4.2.6 行存儲緩存機制184
4.2.7 cstore 189
4.2.8 日志系統(tǒng)202
4.2.9 持久化及故障恢復機制209
4.2.10 主備機制214
4.3 內(nèi)存表223
4.3.1 總體架構與代碼223
4.3.2 FDW 225
4.3.3 內(nèi)存表的存儲236
4.3.4 索引237
4.3.5 事務237
4.3.6 并發(fā)控制243
4.3.7 重做日志246
4.3.8 檢查點251
4.3.9 恢復254
4.4 本章小結257
第5章 事務機制源碼解析258
5.1 事務整體架構與代碼258
5.2 事務并發(fā)控制259
5.2.1 事務狀態(tài)機259
5.2.2 事務ID分配及CLOG/CSNLOG 268
5.2.3 MVCC可見性判斷機制271
5.2.4 進程內(nèi)多線程管理機制279
5.3 鎖機制286
5.3.1 自旋鎖287
5.3.2 輕量級鎖287
5.3.3 常規(guī)鎖288
5.3.4 死鎖檢測機制291
5.3.5 無鎖原子操作295
5.3.6 基于鯤鵬服務器的性能優(yōu)化296
5.4 本章小結307
14 openGauss數(shù)據(jù)庫源碼解析
第6章 SQL引擎源碼解析308
6.1 概述308
6.2 SQL解析308
6.2.1 詞法分析310
6.2.2 語法分析313
6.2.3 語義分析318
6.2.4 解析流程分析323
6.3 查詢優(yōu)化326
6.3.1 查詢重寫327
6.3.2 統(tǒng)計信息與代價估算335
6.3.3 物理路徑344
6.3.4 動態(tài)規(guī)劃344
6.3.5 遺傳算法356
6.4 本章小結367
第7章 執(zhí)行器解析368
7.1 執(zhí)行器整體架構與代碼368
7.1.1 執(zhí)行器整體架構368
7.1.2 火山模型368
7.1.3 代碼370
7.2 執(zhí)行流程371
7.2.1 Portal策略選擇模塊371
7.2.2 ProcessUtility模塊373
7.2.3 executor模塊373
7.3 執(zhí)行算子376
7.3.1 控制算子376
7.3.2 掃描算子381
7.3.3 物化算子389
7.3.4 連接算子395
7.4 表達式計算398
7.4.1 初始化階段398
7.4.2 執(zhí)行階段400
7.5 編譯執(zhí)行410
7.5.1 VecExprCode類415
7.5.2 VecHashAggCodeGen類419
目錄 15
7.5.3 VecHashJoinCodeGen類420
7.5.4 VecSortCodeGen類422
7.6 向量化引擎423
7.6.1 控制算子423
7.6.2 掃描算子427
7.6.3 物化算子430
7.6.4 連接算子438
7.7 本章小結441
第8章 AI技術442
8.1 概述442
8.2 自調優(yōu)442
8.2.1 參數(shù)自調優(yōu)的使用場景442
8.2.2 現(xiàn)有的參數(shù)調優(yōu)技術443
8.2.3 X-Tuner的調優(yōu)策略445
8.2.4 openGauss關鍵源碼解析447
8.2.5 使用示例459
8.2.6 對X-Tuner的二次開發(fā)465
8.2.7 X-Tuner的演進路線465
8.3 慢SQL發(fā)現(xiàn)465
8.3.1 慢SQL發(fā)現(xiàn)的功能466
8.3.2 現(xiàn)有技術466
8.3.3 慢SQL發(fā)現(xiàn)采取的策略469
8.3.4 關鍵源碼解析471
8.3.5 使用示例475
8.4 智能索引推薦476
8.4.1 使用場景476
8.4.2 現(xiàn)有技術476
8.4.3 實現(xiàn)原理477
8.4.4 關鍵源碼解析480
8.4.5 使用示例483
8.5 指標采集、預測與異常檢測487
8.5.1 使用場景487
8.5.2 實現(xiàn)原理487
8.5.3 關鍵源碼解析489
8.5.4 使用示例492
16 openGauss數(shù)據(jù)庫源碼解析
8.5.5 演進路線493
8.6 AI查詢時間預測494
8.6.1 使用場景494
8.6.2 現(xiàn)有技術494
8.6.3 實現(xiàn)原理495
8.6.4 關鍵源碼解析500
8.6.5 使用示例505
8.6.6 演進路線505
8.7 DeepSQL 506
8.7.1 使用場景506
8.7.2 現(xiàn)有技術506
8.7.3 關鍵源碼解析507
8.7.4 基于MADlib框架的擴展508
8.7.5 MADlib在openGauss上的使用示例511
8.7.6 演進路線513
8.8 本章小結513
第9章 安全管理源碼解析514
9.1 安全管理整體架構與代碼514
9.2 安全認證516
9.2.1 身份認證517
9.2.2 口令存儲520
9.2.3 認證機制522
9.2.4 Kerberos安全認證529
9.3 角色創(chuàng)建與角色管理531
9.3.1 角色創(chuàng)建531
9.3.2 角色管理536
9.4 權限管理與權限檢查545
9.4.1 權限管理545
9.4.2 權限檢查551
9.5 審計與追蹤553
9.5.1 審計日志設計553
9.5.2 審計執(zhí)行555
9.6 數(shù)據(jù)安全技術561
9.6.1 數(shù)據(jù)加解密接口561
9.6.2 數(shù)據(jù)動態(tài)脫敏570
目錄 17
9.6.3 密態(tài)等值查詢578
9.7 本章小結593
第10章 備份恢復機制594
10.1 openGauss全量備份技術594
10.1.1 gs_basebackup備份工具594
10.1.2 gs_basebackup備份交互流程595
10.2 openGauss增量備份技術598
10.2.1 gs_probackup子命令599
10.2.2 gs_probackup主要文件608
10.2.3 gs_probackup備份恢復流程609
10.2.4 redo日志增量備份恢復流程613
10.3 本章小結613

本目錄推薦

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