openGauss數(shù)據(jù)庫核心技術(shù)
鏈接:https://pan.baidu.com/s/1KgqOCdl_NCOnbIcz90TRPw?pwd=73ue?
提取碼:73ue

華為公司官方出品,曝光華為分布式數(shù)據(jù)庫openGauss的系統(tǒng)架構(gòu),掌握軟件與硬件結(jié)合的核心技術(shù)!中國人民大學(xué)教授王珊,中國工商銀行軟件開發(fā)中心總經(jīng)理?xiàng)铨埲?,中國郵政儲蓄銀行CIO牛新莊
內(nèi)容簡介
本書系統(tǒng)論述了openGauss數(shù)據(jù)庫理論、技術(shù)及應(yīng)用。本書共11章,首先介紹數(shù)據(jù)庫發(fā)展歷史,包括傳統(tǒng)的網(wǎng)狀數(shù)據(jù)庫、層次數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫、NewSQL數(shù)據(jù)庫、云數(shù)據(jù)庫、多模數(shù)據(jù)庫、分布式數(shù)據(jù)庫等。其次介紹結(jié)構(gòu)化查詢語言(SQL)、SQL語法、存儲過程、觸發(fā)器、游標(biāo)、數(shù)據(jù)庫設(shè)計(jì)規(guī)范和E-R 模型等數(shù)據(jù)庫基礎(chǔ)知識。再次介紹數(shù)據(jù)庫未來發(fā)展趨勢,包括新硬件、不同部署形態(tài)、新應(yīng)用對數(shù)據(jù)庫的影響。最后重點(diǎn)介紹openGauss的核心技術(shù),包括openGauss的核心架構(gòu)、面向鯤鵬和昇騰等新硬件的優(yōu)化技術(shù)、SQL引擎、執(zhí)行器技術(shù)、數(shù)據(jù)庫存儲技術(shù)、數(shù)據(jù)庫事務(wù)機(jī)制、數(shù)據(jù)庫安全、數(shù)據(jù)庫自治技術(shù)等。為方便讀者掌握數(shù)據(jù)庫教學(xué)內(nèi)容,本書每章都提供了小結(jié)和習(xí)題(含答案)。通過閱讀本書,讀者可以深入了解數(shù)據(jù)庫的發(fā)展歷史與未來趨勢、數(shù)據(jù)庫系統(tǒng)架構(gòu)、鯤鵬和昇騰優(yōu)化技術(shù)、數(shù)據(jù)庫
作者簡介
李國良 清華大學(xué)計(jì)算機(jī)系教授、博導(dǎo)。在數(shù)據(jù)庫會議和期刊上發(fā)表論文100余篇,他引8000余次。主持國家杰青、優(yōu)青、青年973等項(xiàng)目。獲得VLDB青年貢獻(xiàn)獎、IEEE數(shù)據(jù)工程杰出新人獎、青年長江學(xué)者等獎項(xiàng)。獲得國家科學(xué)技術(shù)進(jìn)步獎二等獎、江蘇省科學(xué)技術(shù)進(jìn)步獎一等獎,KDD、ICDE最佳論文提名,CIKM最佳論文獎。擔(dān)任IEEE、VLDB編委,長期擔(dān)任SIGMOD、VLDB、ICDE等程序委員會委員。
周敏奇 華為數(shù)據(jù)庫技術(shù)專家,曾任華東師范大學(xué)軟件學(xué)院副教授。2009年畢業(yè)于復(fù)旦大學(xué)計(jì)算機(jī)系,博士學(xué)位。曾獲上海市科學(xué)技術(shù)獎一等獎、教育部科學(xué)技術(shù)進(jìn)步獎二等獎,發(fā)表學(xué)術(shù)論文40余篇,擁有多項(xiàng)技術(shù)發(fā)明專利,多次擔(dān)任SIGMOD、VLDB、ICDE等程序委員會委員。2017年3月加入華為高斯實(shí)驗(yàn)室,目前主要從事多模數(shù)據(jù)庫系統(tǒng)、分布式TP數(shù)據(jù)庫系統(tǒng)和嵌入式內(nèi)存數(shù)據(jù)庫系統(tǒng)的技術(shù)研發(fā)。
目錄
第1章數(shù)據(jù)庫發(fā)展史00
1.1網(wǎng)狀數(shù)據(jù)庫和層次數(shù)據(jù)庫00
1.2關(guān)系數(shù)據(jù)庫00
1.3分布式數(shù)據(jù)庫00
1.4云數(shù)據(jù)庫00
1.5NoSQL數(shù)據(jù)庫00
1.6NewSQL數(shù)據(jù)庫0
1.7多模數(shù)據(jù)庫0
1.8AI原生數(shù)據(jù)庫0
1.9其他類型數(shù)據(jù)庫0
1.10小結(jié)0
習(xí)題0
第2章結(jié)構(gòu)化查詢語言0
2.1SQL語法0
2.1.1數(shù)據(jù)類型0
2.1.2表模式定義0
2.1.3數(shù)據(jù)完整性檢查0
2.1.4插入、刪除、更新數(shù)據(jù)0
2.1.5簡單查詢0
2.1.6連接操作0
2.1.7集合操作0
2.1.8聚集與分組操作0
2.1.9創(chuàng)建索引0
2.1.10視圖與物化視圖0
2.1.11訪問控制0
2.1.12事務(wù)處理語句0
2.2存儲過程和函數(shù)0
2.2.1存儲過程的聲明0
2.2.2存儲過程的修改0
2.2.3函數(shù)的聲明和修改0
2.3觸發(fā)器0
2.4游標(biāo)0
2.4.1聲明游標(biāo)0
2.4.2打開游標(biāo)0
2.4.3使用游標(biāo)0
2.4.4關(guān)閉游標(biāo)0
2.5小結(jié)0
習(xí)題0
openGauss數(shù)據(jù)庫核心技術(shù)
目錄
第3章數(shù)據(jù)庫設(shè)計(jì)和E-R模型0
3.1關(guān)系代數(shù)0
3.1.1關(guān)系代數(shù)的由來0
3.1.2關(guān)系代數(shù)運(yùn)算符0
3.1.3關(guān)系代數(shù)與SQL的轉(zhuǎn)換0
3.2數(shù)據(jù)庫設(shè)計(jì)0
3.2.1數(shù)據(jù)庫設(shè)計(jì)概述0
3.2.2數(shù)據(jù)庫設(shè)計(jì)的特征0
3.2.3實(shí)體聯(lián)系模型: E-R模型0
3.2.4數(shù)據(jù)庫設(shè)計(jì)流程0
3.2.5數(shù)據(jù)庫設(shè)計(jì)中的規(guī)范化設(shè)計(jì)0
3.3數(shù)據(jù)庫約束0
3.3.1數(shù)據(jù)完整性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小結(jié)0
習(xí)題0
第4章數(shù)據(jù)庫未來發(fā)展趨勢0
4.1新硬件驅(qū)動的數(shù)據(jù)庫(鯤鵬+昇騰)0
4.1.1處理器架構(gòu)對數(shù)據(jù)庫系統(tǒng)帶來挑戰(zhàn)與機(jī)遇0
4.1.2異構(gòu)處理器高速發(fā)展為數(shù)據(jù)庫系統(tǒng)創(chuàng)新提出新方向0
4.2新應(yīng)用驅(qū)動的數(shù)據(jù)庫(5G、車、終端云)0
4.2.15G及其相關(guān)應(yīng)用對數(shù)據(jù)庫系統(tǒng)帶來的挑戰(zhàn)與機(jī)遇0
4.2.2自動駕駛汽車對數(shù)據(jù)庫系統(tǒng)帶來的挑戰(zhàn)與機(jī)遇0
4.2.3終端云對數(shù)據(jù)庫系統(tǒng)帶來的挑戰(zhàn)與機(jī)遇0
4.3小結(jié)0
習(xí)題0
第5章GaussDB架構(gòu)0
5.1GaussDB發(fā)展歷史0
5.1.1概述0
5.1.2GMDB內(nèi)存數(shù)據(jù)庫歷史
5.1.3GaussDB 100 OLTP數(shù)據(jù)庫歷史
5.1.4GaussDB 200 OLAP數(shù)據(jù)庫歷史
5.2GaussDB架構(gòu)概覽
5.2.1數(shù)據(jù)庫架構(gòu)變化
5.2.2GaussDB關(guān)鍵技術(shù)架構(gòu)
5.3GaussDB 100 OLTP數(shù)據(jù)庫架構(gòu)
5.3.1設(shè)計(jì)思想與目標(biāo)客戶
5.3.2分布式強(qiáng)一致的架構(gòu)
5.3.3可插拔存儲引擎架構(gòu)
5.4GaussDB 200 OLAP數(shù)據(jù)庫架構(gòu)
5.4.1設(shè)計(jì)思想與目標(biāo)客戶
5.4.2面向數(shù)據(jù)分析的高效存儲和計(jì)算架構(gòu)
5.4.3分布式并行計(jì)算架構(gòu)
5.4.4并行數(shù)據(jù)加載
5.5GaussDB云數(shù)據(jù)庫架構(gòu)
5.5.1設(shè)計(jì)思想與目標(biāo)客戶
5.5.2彈性伸縮的多租戶數(shù)據(jù)庫架構(gòu)
5.6GaussDB多模數(shù)據(jù)庫架構(gòu)
5.6.1設(shè)計(jì)思想與目標(biāo)客戶
5.6.2面向數(shù)據(jù)強(qiáng)一致的多模數(shù)據(jù)庫系統(tǒng)架構(gòu)
5.6.3面向極致性能的多模數(shù)據(jù)庫系統(tǒng)架構(gòu)
5.7小結(jié)
習(xí)題
第6章面向鯤鵬和昇騰的創(chuàng)新架構(gòu)
6.1鯤鵬和昇騰簡介
6.2面向鯤鵬的創(chuàng)新架構(gòu)
6.3面向異構(gòu)AI昇騰芯片的創(chuàng)新架構(gòu)
6.3.1昇騰AI芯片介紹
6.3.2openGauss在昇騰AI芯片下的技術(shù)創(chuàng)新
6.4智能芯片群調(diào)度模塊
6.5小結(jié)
習(xí)題
第7章openGauss SQL引擎
7.1SQL引擎概覽
7.2SQL解析
7.3查詢優(yōu)化
7.3.1查詢重寫
7.3.2路徑搜索
7.3.3代價(jià)估算
7.4小結(jié)
習(xí)題
第8章openGauss執(zhí)行器技術(shù)
8.1openGauss執(zhí)行器概述
8.2openGauss執(zhí)行引擎
8.2.1執(zhí)行流程
8.2.2執(zhí)行算子
8.2.3表達(dá)式計(jì)算
8.3openGauss執(zhí)行器的高級特性介紹
8.3.1編譯執(zhí)行
8.3.2向量化引擎
8.4小結(jié)
習(xí)題
第9章openGauss存儲技術(shù)
9.1openGauss存儲概覽
9.2openGauss行存儲引擎
9.2.1行存儲引擎總體架構(gòu)
9.2.2行存儲的基本模型與頁面組織結(jié)構(gòu)
9.2.3行存儲的多版本管理以及DML操作
9.2.4基于CSN的MVCC機(jī)制
9.2.5行存儲的空間回收
9.2.6行存儲的共享緩存管理
9.2.7并行日志系統(tǒng)設(shè)計(jì)
9.2.8持久化及故障恢復(fù)系統(tǒng)設(shè)計(jì)
9.3openGauss列存儲引擎
9.3.1列存儲引擎的總體架構(gòu)
9.3.2列存儲的頁面組織結(jié)構(gòu)
9.3.3列存儲的MVCC設(shè)計(jì)
9.3.4列存儲的索引設(shè)計(jì)
9.3.5列存儲自適應(yīng)壓縮
9.3.6列存儲的持久化設(shè)計(jì)
9.4openGauss內(nèi)存引擎
9.4.1內(nèi)存引擎的兼容性設(shè)計(jì)
9.4.2內(nèi)存引擎索引
9.4.3內(nèi)存引擎的并發(fā)控制
9.4.4內(nèi)存引擎的內(nèi)存管控
9.4.5內(nèi)存引擎的持久化
9.5小結(jié)
習(xí)題
第10章openGauss事務(wù)機(jī)制
10.1openGauss事務(wù)概覽
10.1.1顯式事務(wù)和隱式事務(wù)
10.1.2單機(jī)事務(wù)和分布式事務(wù)
10.2openGauss事務(wù)ACID特性介紹
10.2.1openGauss中的事務(wù)持久性
10.2.2openGauss中的事務(wù)原子性
10.2.3openGauss中的事務(wù)一致性
10.2.4openGauss中的事務(wù)隔離性
10.3openGauss并發(fā)控制
10.3.1讀-讀并發(fā)控制
10.3.2讀-寫并發(fā)控制
10.3.3寫-寫并發(fā)控制
10.3.4并發(fā)控制和隔離級別
10.3.5對象屬性的并發(fā)控制
10.3.6表級鎖、輕量鎖和死鎖檢測
10.4openGauss分布式事務(wù)
10.4.1分布式事務(wù)的原子性和兩階段提交協(xié)議
10.4.2分布式事務(wù)一致性和全局事務(wù)管理
10.5小結(jié)
查看全部↓
前言/序言
數(shù)據(jù)庫是組織、存儲、管理、分析數(shù)據(jù)的系統(tǒng),是IT行業(yè)最重要的基礎(chǔ)軟件,目前各行各業(yè)幾乎所有的信息系統(tǒng)都需要使用數(shù)據(jù)庫系統(tǒng)來管理業(yè)務(wù)數(shù)據(jù)。數(shù)據(jù)庫在硬件和應(yīng)用之間起到了承上啟下的重要作用,是IT行業(yè)不可或缺的軟件,被譽(yù)為“軟件行業(yè)皇冠上的明珠”。
20世紀(jì)50年代,隨著計(jì)算機(jī)的誕生和成熟,計(jì)算機(jī)開始用于數(shù)據(jù)管理,然而傳統(tǒng)的文件系統(tǒng)難以應(yīng)對數(shù)據(jù)增長的挑戰(zhàn),也無法滿足多用戶共享數(shù)據(jù)和快速檢索數(shù)據(jù)的需求。因此20世紀(jì)60年代,數(shù)據(jù)庫應(yīng)運(yùn)而生。經(jīng)過近60年的發(fā)展,數(shù)據(jù)庫發(fā)生了翻天覆地的變化,從網(wǎng)狀數(shù)據(jù)庫的提出到關(guān)系數(shù)據(jù)庫的蓬勃發(fā)展,從單機(jī)數(shù)據(jù)庫、集群數(shù)據(jù)庫到分布式數(shù)據(jù)庫,從本地部署形態(tài)到云數(shù)據(jù)庫部署形態(tài),從交易型行存儲引擎到分析型列存儲引擎,從SQL到NoSQL再到NewSQL的不同應(yīng)用形態(tài),從手工運(yùn)維到AI自運(yùn)維,數(shù)據(jù)庫技術(shù)出現(xiàn)了百家爭鳴、百花齊放的大繁榮、大發(fā)展。而近年來我國數(shù)據(jù)庫領(lǐng)域不論從學(xué)術(shù)界到工業(yè)界都得到了快速發(fā)展。
本書主要介紹數(shù)據(jù)庫的基礎(chǔ)知識和核心技術(shù),以及數(shù)據(jù)庫系統(tǒng)的核心架構(gòu),幫助讀者更深入地了解數(shù)據(jù)庫的歷史、數(shù)據(jù)庫基礎(chǔ)知識、數(shù)據(jù)庫技術(shù)發(fā)展背景和動機(jī)、數(shù)據(jù)庫技術(shù)的優(yōu)劣對比、數(shù)據(jù)庫架構(gòu)的設(shè)計(jì)和選擇、數(shù)據(jù)庫核心技術(shù)。
本書首先講述數(shù)據(jù)庫的發(fā)展歷史,包括網(wǎng)狀數(shù)據(jù)庫、關(guān)系數(shù)據(jù)庫、并行數(shù)據(jù)庫、圖數(shù)據(jù)庫、云數(shù)據(jù)庫、NoSQL數(shù)據(jù)庫、NewSQL數(shù)據(jù)庫、多模數(shù)據(jù)庫,也介紹分析型數(shù)據(jù)庫和交易型數(shù)據(jù)庫,還介紹了數(shù)據(jù)庫未來發(fā)展趨勢,包括AI原生數(shù)據(jù)庫、