相關主題
商品描述
本書系統論述了openGauss數據庫理論、技術及應用。
本書共11章,首先介紹數據庫發展歷史,包括傳統的網狀數據庫、層次數據庫、關係數據庫、
NoSQL數據庫、NewSQL數據庫、雲數據庫、多模數據庫、分佈式數據庫等。
其次介紹結構化查詢語言(SQL)、SQL語法、存儲過程、觸發器、游標、數據庫設計規範和ER 模型等數據庫基礎知識。
再次介紹數據庫未來發展趨勢,包括新硬件、不同部署形態、新應用對數據庫的影響。
最後重點介紹openGauss的核心技術,包括openGauss的核心架構、面向鯤鵬和昇騰等新硬件的優化技術、
SQL引擎、執行器技術、數據庫存儲技術、數據庫事務機制、數據庫安全、數據庫自治技術等。
為方便讀者掌握數據庫教學內容,本書每章都提供了小結和習題(含答案)。
通過閱讀本書,讀者可以深入了解數據庫的發展歷史與未來趨勢、
數據庫系統架構、鯤鵬和昇騰優化技術、數據庫
作者簡介
李國良
清華大學計算機系教授、博導。
在數據庫會議和期刊上發表論文100餘篇,他引8000餘次。
主持國家傑青、優青、青年973等項目。
獲得VLDB青年貢獻獎、IEEE數據工程傑出新人獎、青年長江學者等獎項。
獲得國家科學技術進步獎二等獎、江蘇省科學技術進步獎一等獎,KDD、ICDE最佳論文提名,CIKM最佳論文獎。
擔任IEEE、VLDB編委,長期擔任SIGMOD、VLDB、ICDE等程序委員會委員。
周敏奇
華為數據庫技術專家,曾任華東師範大學軟件學院副教授。
2009年畢業於復旦大學計算機系,博士學位。
曾獲上海市科學技術獎一等獎、教育部科學技術進步獎二等獎,發表學術論文40餘篇,
擁有多項技術發明專利,多次擔任SIGMOD、VLDB、ICDE等程序委員會委員。
2017年3月加入華為高斯實驗室,目前主要從事多模數據庫系統、
分佈式TP數據庫系統和嵌入式內存數據庫系統的技術研發。
目錄大綱
1章數據庫發展史00
1.1網狀數據庫和層次數據庫00
1.2關係數據庫00
1.3分佈式數據庫00
1.4雲數據庫00
1.5SQL數據庫00
1.6NewSQL數據庫0
1.7多模數據庫0
1.8AI原生數據庫0
1.9其他類型數據庫0
1.10小結0
習題0
2章結構化查詢語言0
2.1SQL語法0
2.1.1數據類型0
2.1.2表模式定義0
2.1.3數據完整性檢查0
2.1.4插入、刪除、更新數據0
2.1.5簡單查詢0
2.1.6連接作0
2.1.7集合作0
2.1.8聚集與分組作0
2.1.9創建索引0
2.1.10視圖與物化視圖0
2.1.11訪問控制0
2.1.12事務處理語句0
2.2存儲過程和函數0
2.2.1存儲過程的聲明0
2.2.2存儲過程的修改0
2.2.3函數的聲明和修改0
2.3觸發器0
2.4光標0
2.4.1聲明光標0
2.4.2打開光標0
2.4.3使用光標0
2.4.4關閉光標0
2.5小結0
習題0
3章數據庫設計和ER模型0
3.1關係代數0
3.1.1關係代數的由來0
3.1.2關係代數運算符0
3.1.3關係代數與SQL的轉換0
3.2數據庫設計0
3.2.1數據庫設計概述0
3.2.2數據庫設計的特徵0
3.2.3實體聯繫模型: ER模型0
3.2.4數據庫設計流程0
3.2.5數據庫設計中的規範化設計0
3.3數據庫約束0
3.3.1數據完整性0
3.3.2約束作0
3.3.3非空約束0
3.3.4約束0
3.3.5主鍵約束0
3.3.6外鍵約束0
3.3.7條件約束0
3.4小結0
習題0
4章數據庫未來發展趨勢0
4.1新硬件驅動的數據庫(鯤鵬+昇騰)0
4.1.1處理器架構對數據庫帶來挑戰與機遇0
4.1.2異構處理器高速發展為數據庫創新提出新方向0
4.2新應用驅動的數據庫(5G、車、終端雲)0
4.2.15G及其相關應用對數據庫帶來的挑戰與機遇0
4.2.2自動駕駛汽車對數據庫帶來的挑戰與機遇0
4.2.3終端雲對數據庫帶來的挑戰與機遇0
4.3小結0
習題0
5章GaussDB架構0
5.1GaussDB發展歷史0
5.1.1概述0
5.1.2GMDB內存數據庫歷史
5.1.3GaussDB 100 OLTP數據庫歷史
5.1.4GaussDB 200 OLAP數據庫歷史
5.2GaussDB架構概覽
5.2.1數據庫架構變化
5.2.2GaussDB關鍵技術架構
5.3GaussDB 100 OLTP數據庫架構
5.3.1設計思想與目標客戶
5.3.2分佈式強一致的架構
5.3.3可插拔存儲引擎架構
5.4GaussDB 200 OLAP數據庫架構
5.4.1設計思想與目標客戶
5.4.2面向數據分析的高效存儲和計算架構
5.4.3分佈式並行計算架構
5.4.4並行數據加載
5.5GaussDB雲數據庫架構
5.5.1設計思想與目標客戶
5.5.2彈性伸縮的多租戶數據庫架構
5.6GaussDB多模數據庫架構
5.6.1設計思想與目標客戶
5.6.2面向數據強一致的多模數據庫架構
5.6.3面向性能的多模數據庫架構
5.7小結
習題
6章面向鯤鵬和昇騰的創新架構
6.1鯤鵬和昇騰簡介
6.2面向鯤鵬的創新架構
6.3面向異構AI昇騰芯片的創新架構
6.3.1昇騰AI芯片介紹
6.3.2openGauss在昇騰AI芯片下的技術創新
6.4智能芯片調度模塊
6.5小結
習題
7章openGauss SQL引擎
7.1SQL引擎概覽
7.2SQL解析
7.3查詢優化
7.3.1查詢重寫
7.3.2路徑搜索
7.3.3代價估算
7.4小結
習題
8章openGauss執行器技術
8.1openGauss執行器概述
8.2openGauss執行引擎
8.2.1執行流程
8.2.2執行算子
8.2.3表達式計算
8.3openGauss執行器的特性介紹
8.3.1編譯執行
8.3.2向量化引擎
8.4小結
習題
9章openGauss存儲技術
9.1openGauss存儲概覽
9.2openGauss行存儲引擎
9.2.1行存儲引擎總體架構
9.2.2行存儲的基本模型與頁面組織結構
9.2.3行存儲的多版本管理以及DML作
9.2.4基於CSN的MVCC機制
9.2.5行存儲的空間回收
9.2.6行存儲的共享緩存管理
9.2.7並行日誌設計
9.2.8持久化及故障恢復設計
9.3openGauss列存儲引擎
9.3.1列存儲引擎的總體架構
9.3.2列存儲的頁面組織結構
9.3.3列存儲的MVCC設計
9.3.4列存儲的索引設計
9.3.5列存儲自適應壓縮
9.3.6列存儲的持久化設計
9.4openGauss內存引擎
9.4.1內存引擎的兼容性設計
9.4.2內存引擎索引
9.4.3內存引擎的並發控制
9.4.4內存引擎的內存管控
9.4.5內存引擎的持久化
9.5小結
習題
10章openGauss事務機制
10.1openGauss事務概覽
10.1.1顯式事務和隱式事務
10.1.2單機事務和分佈式事務
10.2openGauss事務ACID特性介紹
10.2.1openGauss中的事務持久性
10.2.2openGauss中的事務原子性
10.2.3openGauss中的事務一致性
10.2.4openGauss中的事務隔離性
10.3openGauss並發控制
10.3.1讀讀並發控制
10.3.2讀寫並發控制
10.3.3寫寫並發控制
10.3.4並發控制和隔離級別
10.3.5對象屬性的並發控制
10.3.6表級鎖、輕量鎖和死鎖檢測
10.4openGauss分佈式事務
10.4.1分佈式事務的原子性和兩階段提交協議
10.4.2分佈式事務一致性和全局事務管理
10.5小結
習題
11章openGauss安全
11.1openGauss安全機制概覽
11.2openGauss安全認證
11.2.1客戶端配置信息
11.2.2服務端認證方法
11.2.3安全認證通道
11.2.4RFC5802認證協議
11.3openGauss角色管理機制
11.3.1角色管理模型
11.3.2三權分立模型
11.3.3對象訪問控制
11.4openGauss審計與追蹤
11.4.1審計記錄機制
11.4.2審計追蹤機制
11.4.3統一審計
11.5openGauss數據安全技術
11.5.1數據加密算法
11.5.2數據脫敏技術
11.5.3透明加密技術
11.5.4全程加密技術
11.6openGauss雲安全技術
11.6.1IAM認證
11.6.2安全chroot技術
11.6.3防篡改技術
11.7openGauss智能安全機制
11.8小結
習題
附錄A習題答案
附錄B數據庫相關列表
附錄C術語表
參考文獻