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

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

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

定 價(jià):¥145.00

作 者: 李國良,張樹杰 著
出版社: 清華大學(xué)出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

第1章 openGauss簡介001
1.1 openGauss概述001
1.2 應(yīng)用場景003
1.3 系統(tǒng)架構(gòu)003
1.4 代碼結(jié)構(gòu)004
1.4.1 通信管理004
1.4.2 SQL引擎006
1.4.3 存儲引擎020
1.5 價(jià)值特性034
1.5.1 高性能035
1.5.2 高擴(kuò)展037
1.5.3 高可用038
1.5.4 可維護(hù)性039
1.5.5 數(shù)據(jù)庫安全040
1.5.6 AI能力043
1.6 本章小結(jié)044
第2章 openGauss開發(fā)快速入門045
2.1 安裝部署045
2.1.1 了解安裝流程045
2.1.2 準(zhǔn)備軟硬件安裝環(huán)境046
2.1.3 修改操作系統(tǒng)配置048
2.1.4 設(shè)置root用戶遠(yuǎn)程登錄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 安裝驗(yàn)證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ū)開源項(xiàng)目091
2.4.1 開源社區(qū)概述091
2.4.2 社區(qū)環(huán)境準(zhǔn)備092
2.4.3 提交Issue 093
2.4.4 貢獻(xiàn)代碼和文檔094
2.4.5 Git使用099
2.5 本章小結(jié)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 多線程架構(gòu)107
3.3.1 openGauss主要線程108
3.3.2 線程間通信108
3.3.3 線程初始化流程109
3.4 線程池技術(shù)111
3.4.1 線程池原理111
3.4.2 線程池實(shí)現(xiàn)112
3.5 內(nèi)存管理115
3.6 多維監(jiān)控120
3.7 模擬信號機(jī)制123
3.8 本章小結(jié)125
第4章 存儲引擎源碼解析126
4.1 存儲引擎整體架構(gòu)與代碼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 行存儲索引機(jī)制181
4.2.6 行存儲緩存機(jī)制184
4.2.7 cstore 189
4.2.8 日志系統(tǒng)202
4.2.9 持久化及故障恢復(fù)機(jī)制209
4.2.10 主備機(jī)制214
4.3 內(nèi)存表223
4.3.1 總體架構(gòu)與代碼223
4.3.2 FDW 225
4.3.3 內(nèi)存表的存儲236
4.3.4 索引237
4.3.5 事務(wù)237
4.3.6 并發(fā)控制243
4.3.7 重做日志246
4.3.8 檢查點(diǎn)251
4.3.9 恢復(fù)254
4.4 本章小結(jié)257
第5章 事務(wù)機(jī)制源碼解析258
5.1 事務(wù)整體架構(gòu)與代碼258
5.2 事務(wù)并發(fā)控制259
5.2.1 事務(wù)狀態(tài)機(jī)259
5.2.2 事務(wù)ID分配及CLOG/CSNLOG 268
5.2.3 MVCC可見性判斷機(jī)制271
5.2.4 進(jìn)程內(nèi)多線程管理機(jī)制279
5.3 鎖機(jī)制286
5.3.1 自旋鎖287
5.3.2 輕量級鎖287
5.3.3 常規(guī)鎖288
5.3.4 死鎖檢測機(jī)制291
5.3.5 無鎖原子操作295
5.3.6 基于鯤鵬服務(wù)器的性能優(yōu)化296
5.4 本章小結(jié)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)計(jì)信息與代價(jià)估算335
6.3.3 物理路徑344
6.3.4 動(dòng)態(tài)規(guī)劃344
6.3.5 遺傳算法356
6.4 本章小結(jié)367
第7章 執(zhí)行器解析368
7.1 執(zhí)行器整體架構(gòu)與代碼368
7.1.1 執(zhí)行器整體架構(gòu)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 表達(dá)式計(jì)算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 本章小結(jié)441
第8章 AI技術(shù)442
8.1 概述442
8.2 自調(diào)優(yōu)442
8.2.1 參數(shù)自調(diào)優(yōu)的使用場景442
8.2.2 現(xiàn)有的參數(shù)調(diào)優(yōu)技術(shù)443
8.2.3 X-Tuner的調(diào)優(yōu)策略445
8.2.4 openGauss關(guān)鍵源碼解析447
8.2.5 使用示例459
8.2.6 對X-Tuner的二次開發(fā)465
8.2.7 X-Tuner的演進(jìn)路線465
8.3 慢SQL發(fā)現(xiàn)465
8.3.1 慢SQL發(fā)現(xiàn)的功能466
8.3.2 現(xiàn)有技術(shù)466
8.3.3 慢SQL發(fā)現(xiàn)采取的策略469
8.3.4 關(guān)鍵源碼解析471
8.3.5 使用示例475
8.4 智能索引推薦476
8.4.1 使用場景476
8.4.2 現(xiàn)有技術(shù)476
8.4.3 實(shí)現(xiàn)原理477
8.4.4 關(guān)鍵源碼解析480
8.4.5 使用示例483
8.5 指標(biāo)采集、預(yù)測與異常檢測487
8.5.1 使用場景487
8.5.2 實(shí)現(xiàn)原理487
8.5.3 關(guān)鍵源碼解析489
8.5.4 使用示例492
16 openGauss數(shù)據(jù)庫源碼解析
8.5.5 演進(jìn)路線493
8.6 AI查詢時(shí)間預(yù)測494
8.6.1 使用場景494
8.6.2 現(xiàn)有技術(shù)494
8.6.3 實(shí)現(xiàn)原理495
8.6.4 關(guān)鍵源碼解析500
8.6.5 使用示例505
8.6.6 演進(jìn)路線505
8.7 DeepSQL 506
8.7.1 使用場景506
8.7.2 現(xiàn)有技術(shù)506
8.7.3 關(guān)鍵源碼解析507
8.7.4 基于MADlib框架的擴(kuò)展508
8.7.5 MADlib在openGauss上的使用示例511
8.7.6 演進(jìn)路線513
8.8 本章小結(jié)513
第9章 安全管理源碼解析514
9.1 安全管理整體架構(gòu)與代碼514
9.2 安全認(rèn)證516
9.2.1 身份認(rèn)證517
9.2.2 口令存儲520
9.2.3 認(rèn)證機(jī)制522
9.2.4 Kerberos安全認(rèn)證529
9.3 角色創(chuàng)建與角色管理531
9.3.1 角色創(chuàng)建531
9.3.2 角色管理536
9.4 權(quán)限管理與權(quán)限檢查545
9.4.1 權(quán)限管理545
9.4.2 權(quán)限檢查551
9.5 審計(jì)與追蹤553
9.5.1 審計(jì)日志設(shè)計(jì)553
9.5.2 審計(jì)執(zhí)行555
9.6 數(shù)據(jù)安全技術(shù)561
9.6.1 數(shù)據(jù)加解密接口561
9.6.2 數(shù)據(jù)動(dòng)態(tài)脫敏570
目錄 17
9.6.3 密態(tài)等值查詢578
9.7 本章小結(jié)593
第10章 備份恢復(fù)機(jī)制594
10.1 openGauss全量備份技術(shù)594
10.1.1 gs_basebackup備份工具594
10.1.2 gs_basebackup備份交互流程595
10.2 openGauss增量備份技術(shù)598
10.2.1 gs_probackup子命令599
10.2.2 gs_probackup主要文件608
10.2.3 gs_probackup備份恢復(fù)流程609
10.2.4 redo日志增量備份恢復(fù)流程613
10.3 本章小結(jié)613

本目錄推薦

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