定 價:99 元
叢書名:阿里云智能產(chǎn)學(xué)合作系列教材
- 作者:李飛飛 等
- 出版時間:2021/12/1
- ISBN:9787121421655
- 出 版 社:電子工業(yè)出版社
- 中圖法分類:TP393.027
- 頁碼:348
- 紙張:
- 版次:01
- 開本:16開
本書詳細(xì)剖析了作為核心基礎(chǔ)軟件系統(tǒng)的數(shù)據(jù)庫在云計算時代的技術(shù)演進歷程,從架構(gòu)設(shè)計、實現(xiàn)機制和系統(tǒng)優(yōu)化等多個角度闡述傳統(tǒng)數(shù)據(jù)庫技術(shù)是如何一步步發(fā)展到云原生形態(tài)的。本書強調(diào)理論和實踐的充分結(jié)合,分析MySQL、PostgreSQL等工業(yè)界“活”的系統(tǒng)實現(xiàn)數(shù)據(jù)庫的SQL優(yōu)化與執(zhí)行、事務(wù)處理、緩存與索引等原理,在面對實際應(yīng)用需求時做了哪些權(quán)衡與折中,面對復(fù)雜的應(yīng)用場景如何優(yōu)化,以及做出種種選擇背后的原因。同時,本書結(jié)合阿里云在數(shù)據(jù)庫領(lǐng)域的研發(fā)實踐經(jīng)驗,著重講述現(xiàn)代數(shù)據(jù)庫從系統(tǒng)進化到服務(wù)的一系列核心技術(shù)原理,例如利用云計算資源池化技術(shù)、分布式技術(shù)實現(xiàn)數(shù)據(jù)庫的高可用、彈性擴展和按需使用等。本書內(nèi)容翔實,兼具理論深度和實現(xiàn)細(xì)節(jié),同時開放性地探索了數(shù)據(jù)庫的最新發(fā)展方向,能夠啟發(fā)讀者進一步深入思考。本書可作為高等院校信息類專業(yè)的本科生和碩士研究生教材,也可作為數(shù)據(jù)庫行業(yè)的內(nèi)核研發(fā)和系統(tǒng)運維等從業(yè)人員的參考書。
李飛飛阿里巴巴集團副總裁,阿里云智能事業(yè)群數(shù)據(jù)庫產(chǎn)品事業(yè)部與達(dá)摩院數(shù)據(jù)庫與存儲實驗室負(fù)責(zé)人,ACM杰出科學(xué)家。曾獲ACM與IEEE多項大獎,世界互聯(lián)網(wǎng)大會2019全球領(lǐng)先科技成果獎,浙江省科技進步一等獎,中國電子學(xué)會科技進步一等獎等。帶領(lǐng)團隊研發(fā)了阿里云企業(yè)級云原生數(shù)據(jù)庫系統(tǒng)。擔(dān)任多個國際及國內(nèi)一流學(xué)術(shù)期刊和學(xué)術(shù)會議的編委、主席。中國計算機學(xué)會CCF大數(shù)據(jù)專家委員會副主任,數(shù)據(jù)庫專業(yè)委員會常委。擔(dān)任多個國際一流學(xué)術(shù)期刊和學(xué)術(shù)會議的編委、主席(VLDB 2021與IEEE ICDE 2021工業(yè)界主席)。周烜華東師范大學(xué)數(shù)據(jù)科學(xué)與工程學(xué)院教授、副院長。2001年本科畢業(yè)于復(fù)旦大學(xué),2005年在新加坡國立大學(xué)取得博士學(xué)位,2005年至2010年期間先后在德國?L3S?研究中心和澳大利亞聯(lián)邦科工組織從事科研工作,隨后在中國人民大學(xué)任教,于2017年加入華東師范大學(xué)。他的研究興趣包括數(shù)據(jù)庫系統(tǒng)和信息檢索技術(shù)。他曾參與和負(fù)責(zé)多個國內(nèi)外的科研項目和工業(yè)合作項目,開發(fā)各種數(shù)據(jù)管理系統(tǒng),在分布式數(shù)據(jù)庫上的研究成果獲2019年國家科技進步二等獎。蔡鵬華東師范大學(xué)數(shù)據(jù)科學(xué)與工程學(xué)院教授,博士生導(dǎo)師。2015年6月加入華東師范大學(xué)數(shù)據(jù)科學(xué)與工程學(xué)院,在此之前先后就職于IBM中國研究院和百度(中國)有限公司。在VLDB、ICDE、SIGIR、ACL等國際頂級會議上發(fā)表多篇學(xué)術(shù)論文。目前的研究方向為內(nèi)存事務(wù)處理、于機器學(xué)習(xí)技術(shù)的自適應(yīng)數(shù)據(jù)管理系統(tǒng)。曾獲國家科技進步二等獎、教育部科技進步一等獎。張蓉華東師范大學(xué)數(shù)據(jù)科學(xué)與工程學(xué)院教授,博士生導(dǎo)師。自2001年起從事分布式系統(tǒng)、數(shù)據(jù)庫相關(guān)研究與開發(fā)工作,曾作為負(fù)責(zé)人或者主要參與人員參加國家自然科學(xué)基金課題、國家863計劃項目及多項企業(yè)合作項目的研究。工作成果獲得上海市科技進步一等獎(排名第四)以及國家科學(xué)技術(shù)進步二等獎(排名第七)。研究興趣包括分布式數(shù)據(jù)管理、數(shù)據(jù)流管理和大數(shù)據(jù)基準(zhǔn)評測。黃貴阿里巴巴資深技術(shù)專家,阿里云數(shù)據(jù)庫總架構(gòu)師,在阿里巴巴一直從事分布式系統(tǒng)、分布式數(shù)據(jù)庫內(nèi)核的研發(fā)工作,參與自研數(shù)據(jù)庫PolarDB的研發(fā)工作。技術(shù)專長和研究興趣為分布式系統(tǒng)設(shè)計、分布式一致性協(xié)議、數(shù)據(jù)庫內(nèi)核實現(xiàn)等領(lǐng)域,曾在SIGMOD、FAST、VLDB等國際頂級會議上發(fā)表多篇學(xué)術(shù)論文,獲得中國電子學(xué)會科技進步一等獎。劉湘雯阿里云副總裁、阿里巴巴達(dá)摩院秘書長、中國計算機學(xué)會常務(wù)理事。加入阿里巴巴十多年來,先后帶領(lǐng)團隊搭建了阿里巴巴集團技術(shù)大中臺戰(zhàn)略的三層治理體系,完成了阿里巴巴達(dá)摩院從0到1的建設(shè)落地。當(dāng)前任阿里云市場營銷與公共事務(wù)部總經(jīng)理,代表阿里云對外構(gòu)建了由高校、政府、開發(fā)者、創(chuàng)新創(chuàng)業(yè)者組成的合作網(wǎng)絡(luò),推動數(shù)字經(jīng)濟時代阿里云2.0品牌的升級。
目 錄
第1章 數(shù)據(jù)庫發(fā)展歷程 1
1.1 數(shù)據(jù)庫發(fā)展概述 2
1.1.1 萌芽 2
1.1.2 商業(yè)化起步 3
1.1.3 發(fā)展成熟 3
1.1.4 云原生與分布式時代 4
1.2 數(shù)據(jù)庫技術(shù)發(fā)展趨勢 6
1.2.1 云原生與分布式 6
1.2.2 大數(shù)據(jù)與數(shù)據(jù)庫一體化 6
1.2.3 軟硬件一體化 7
1.2.4 多模 7
1.2.5 智能化運維 8
1.2.6 安全可信 8
1.3 關(guān)系數(shù)據(jù)庫主要技術(shù)原理 8
1.3.1 接入管理 9
1.3.2 查詢引擎 10
1.3.3 事務(wù)處理 14
1.3.4 存儲引擎 17
參考文獻 19
第2章 數(shù)據(jù)庫與云原生 20
2.1 數(shù)據(jù)庫在云時代的發(fā)展 21
2.1.1 云計算時代的興起 21
2.1.2 數(shù)據(jù)庫作為一種服務(wù) 22
2.2 數(shù)據(jù)庫在云原生時代面臨的挑戰(zhàn) 23
2.3 云原生數(shù)據(jù)庫的主要特點 24
2.3.1 分層架構(gòu) 24
2.3.2 資源解耦與池化 24
2.3.3 彈性伸縮能力 24
2.3.4 高可用與數(shù)據(jù)一致性 25
2.3.5 多租戶與資源隔離 26
2.3.6 智能化運維 26
參考文獻 26
第3章 云原生數(shù)據(jù)庫架構(gòu) 27
3.1 設(shè)計理念 28
3.1.1 云原生數(shù)據(jù)庫的本質(zhì) 28
3.1.2 計算與存儲分離 29
3.2 架構(gòu)設(shè)計 30
3.3 典型的云原生數(shù)據(jù)庫 31
3.3.1 AWS Aurora 31
3.3.2 PolarDB 37
3.3.3 Microsoft Socrates 40
參考文獻 44
第4章 存儲引擎 45
4.1 數(shù)據(jù)組織 46
4.1.1 B+樹 47
4.1.2 InnoDB引擎中的B+樹 49
4.1.3 LSM-tree 52
4.2 并發(fā)控制 56
4.2.1 基本概念 56
4.2.2 鎖方法 56
4.2.3 時間戳方法 58
4.2.4 MVCC 61
4.2.5 InnoDB MVCC的實現(xiàn) 63
4.3 日志與恢復(fù) 65
4.3.1 基本概念 65
4.3.2 邏輯日志 66
4.3.3 物理日志 66
4.3.4 恢復(fù)原理 67
4.3.5 MySQL的Binlog 68
4.3.6 InnoDB的物理日志 68
4.4 新型LSM存儲引擎 70
4.4.1 PolarDB X-Engine 70
4.4.2 高性能事務(wù)處理 72
4.4.3 軟硬結(jié)合優(yōu)化 75
4.4.4 低成本分層存儲 78
4.4.5 雙存儲引擎技術(shù) 84
4.4.6 實驗評估 85
參考文獻 88
第5章 高可用共享存儲系統(tǒng) 89
5.1 高可用基礎(chǔ) 90
5.1.1 Primary-Backup 90
5.1.2 Quorum 92
5.1.3 Paxos 93
5.1.4 Raft 95
5.1.5 Parallel Raft 98
5.2 集群高可用 100
5.2.1 MySQL集群高可用 100
5.2.2 PolarDB高可用 103
5.3 共享存儲架構(gòu) 116
5.3.1 Aurora存儲系統(tǒng) 117
5.3.2 PolarFS 119
5.4 文件系統(tǒng)優(yōu)化 121
5.4.1 用戶態(tài)I/O計算 121
5.4.2 近存儲計算 124
參考文獻 130
第6章 數(shù)據(jù)庫緩存 131
6.1 數(shù)據(jù)庫緩存簡介 132
6.1.1 數(shù)據(jù)庫緩沖作用 132
6.1.2 緩沖池 132
6.2 緩存恢復(fù) 133
6.2.1 云環(huán)境對緩存的挑戰(zhàn) 133
6.2.2 基于CPU與內(nèi)存分離的緩存恢復(fù) 133
6.3 PolarDB的實踐 135
6.3.1 緩沖池的優(yōu)化 135
6.3.2 數(shù)據(jù)字典緩存和文件系統(tǒng)緩存的優(yōu)化 140
6.3.3 基于RDMA的共享內(nèi)存池 141
參考文獻 146
第7章 計算引擎 147
7.1 查詢處理概述 148
7.1.1 數(shù)據(jù)庫查詢處理概述 148
7.1.2 并行查詢概述 149
7.2 查詢執(zhí)行模型 151
7.2.1 火山模型 151
7.2.2 編譯執(zhí)行模型 152
7.2.3 向量化執(zhí)行模型 152
7.3 查詢優(yōu)化概述 153
7.3.1 查詢優(yōu)化整體介紹 153
7.3.2 邏輯查詢優(yōu)化 153
7.3.3 物理查詢優(yōu)化 154
7.3.4 其他優(yōu)化方法 154
7.4 PolarDB查詢引擎實踐 155
7.4.1 PolarDB的并行查詢技術(shù) 155
7.4.2 PolarDB的執(zhí)行計劃管理 168
7.4.3 PolarDB的向量化執(zhí)行 175
參考文獻 178
第8章 云原生與分布式融合 179
8.1 分布式數(shù)據(jù)庫的基本原理 180
8.1.1 分布式數(shù)據(jù)庫架構(gòu) 180
8.1.2 數(shù)據(jù)分區(qū) 181
8.1.3 分布式事務(wù) 183
8.1.4 MPP并行查詢處理 187
8.2 分布式與云原生 188
8.2.1 共享存儲架構(gòu) 189
8.2.2 無共享存儲架構(gòu) 189
8.3 云原生分布式數(shù)據(jù)庫 PolarDB-X 190
8.3.1 架構(gòu)設(shè)計 190
8.3.2 拆分方式 191
8.3.3 全局二級索引 192
8.3.4 分布式事務(wù) 193
8.3.5 HTAP 193
參考文獻 194
第9章 云原生數(shù)據(jù)庫PolarDB 應(yīng)用實踐 195
9.1 創(chuàng)建云上實例 196
9.2 數(shù)據(jù)庫接入 198
9.2.1 相關(guān)賬號的創(chuàng)建 198
9.2.2 圖形化訪問 198
9.2.3 連接方式訪問 199
9.3 基本操作 202
9.3.1 數(shù)據(jù)庫與表創(chuàng)建 202
9.3.2 創(chuàng)建測試數(shù)據(jù) 203
9.3.3 賬號與權(quán)限管理 204
9.3.4 數(shù)據(jù)查詢 205
9.4 云上數(shù)據(jù)遷移 208
9.4.1 云上數(shù)據(jù)的遷入 208
9.4.2 云上數(shù)據(jù)的導(dǎo)出 211
第10章 PolarDB運維管理 212
10.1 數(shù)據(jù)庫運維概述 213
10.2 擴展資源 213
10.2.1 系統(tǒng)擴展 213
10.2.2 手動升降配 213
10.2.3 手動增減節(jié)點 214
10.2.4 自動升降配和增減節(jié)點 214
10.3 備份與恢復(fù) 215
10.3.1 備份 215
10.3.2 恢復(fù) 217
10.4 監(jiān)控與診斷 218
10.4.1 監(jiān)控與報警 218
10.4.2 診斷與優(yōu)化 218
參考文獻 220