雲原生資料庫:原理與實踐

雲原生資料庫:原理與實踐

《雲原生資料庫:原理與實踐》是電子工業出版社出版圖書,作者是李飛飛、周烜、蔡鵬、張蓉、黃貴。

詳細剖析了作為核心基礎軟體系統的資料庫在雲計算時代的技術演進歷程,多角度闡述傳統資料庫技術是如何一步步發展到雲原生形態的

基本介紹

  • 中文名:雲原生資料庫:原理與實踐
  • 作者:李飛飛
  • 出版時間:2021年12月 
  • 出版社:電子工業出版社
  • 頁數:348 頁
  • ISBN:9787121421655
  • 定價:99 元
  • 開本:16 開
內容簡介,圖書目錄,作者簡介,

內容簡介

強調理論和實踐的充閥連糊備分結合,在面對實際套用需求時做了哪些權衡與折中,祝厚槓面對複雜的套用場景如何最佳化,以及做出種種選擇背後的原因。

圖書目錄

第1章 資料庫發展歷程 1
1.1 資料庫發展概述 2
1.1.1 萌芽 2
1.1.2 商業化起步 3
1.1.3 發展成熟 3
1.1.4 雲原生與分散式時代 4
1.2 資料庫技術發展趨勢 6
1.2.1 雲原生與分散式 6
1.2.2 大數據與資料庫一體化 6
1.2.3 軟硬體一體化 7
1.2.4 多模 7
1.2.5 智慧型化運維 8
1.2.6 安全可信 8
1.3 關係資料庫主要技術原理 8
1.3.1 接入管理 9
1.3.2 查詢引擎 10
1.3.3 事務處理 14
1.3.4 存儲引擎 17
參考文獻 19
第2章 資料庫與雲原生 20
2.1 資料庫在雲時代的發展 21
2.1.1 雲計算時代的興起 21
2.1.2 資料庫作為一種服務 22
2.2 數據訂拘笑庫在雲原生時代面臨的挑戰 23
2.3 雲原生資料庫的主要特點 24
2.3.1 分層架構 24
2.3.2 資源解耦與池化 24
2.3.3 彈性伸縮能力 24
2.3.4 高可用與數據一致性 25
2.3.5 多租戶與資源隔離 26
2.3.6 智慧型化運維 26
參考文獻 26
第3章 雲原生資料庫架構 27
3.1 設計理念 28
3.1.1 雲原生資料庫的本質 28
3.1.2 計算與存儲分離 29
3.2 架構設喇簽疊拳計 30
3.3 典型的雲原生資料庫 31
3.3.1 AWS Aurora 31
3.3.2 PolarDB 37
3.3.3 Microsoft Socrates 40
參考文獻 44
第4章 存儲引擎 45
4.1 數據組織 46
4.1.1 B+樹 47
4.1.2 InnoDB引擎中的B+樹 49
4.1.3 LSM-tree 52
4.2 並發控制 56
4.2.1 基本概念 56
4.2.2 鎖方法 56
4.2.3 時間戳方法 58
4.2.4 MVCC 61
4.2.5 InnoDB MVCC的實現 63
4.3 日誌與恢復 65
4.3.1 基本概念 65
4.3.2 邏輯日誌 66
4.3.3 物理日誌 66
4.3.4 恢復原理 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 高性能事務處理 72
4.4.3 軟硬結合最佳化 75
4.4.4 低成本分層存儲 78
4.4.5 雙存儲引擎技術 84
4.4.6 實驗評估 85
參考文獻 88
第5章 高可用共享存儲系統 89
5.1 高可用基礎 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 共享存儲架構 116
5.3.1 Aurora存儲系統 117
5.3.2 PolarFS 119
5.4 檔案系統最佳化 121
5.4.1 用戶態I/O計算 121
5.4.2 近說說存儲計算 124
參考文獻 130
第6章 資料庫快取 131
6.1 資料庫快取簡介 132
6.1.1 資料庫緩衝作用 132
6.1.2 緩衝池 132
6.2 快取恢復 133
6.2.1 雲環境對快取的挑戰 133
6.2.2 基於CPU與記憶體分離的快取恢復 133
6.3 PolarDB的實踐 135
6.3.1 緩衝池的最佳化 135
6.3.2 數據字典快取和檔案系故背習統快取的最佳化 140
6.3.3 基於RDMA的共享記憶體池 141
參考文獻 146
第7章 計算引擎 147
7.1 查詢處理概述 148
7.1.1 資料庫查詢處理概述 148
7.1.2 並行查詢概述 149
7.2 查詢執行模型 151
7.2.1 火山模型 151
7.2.2 編譯執行模型 152
7.2.3 向量化執行模型 152
7.3 查詢最佳化概述 153
7.3.1 查詢最佳化整體料去騙介紹 153
7.3.2 邏輯查詢最佳化 153
7.3.3 物理查詢最佳化 154
7.3.4 其他最佳化方法 154
7.4 PolarDB查詢引擎實踐 155
7.4.1 PolarDB的並行查詢技術 155
7.4.2 PolarDB的執行計畫管理 168
7.4.3 PolarDB的向量化執行 175
參考文獻 178
第8章 雲原生與分散式融合 179
8.1 分散式資料庫的基本原理 180
8.1.1 分散式資料庫架構 180
8.1.2 數據分區 181
8.1.3 分散式事務 183
8.1.4 MPP並行查詢處理 187
8.2 分散式與雲原生 188
8.2.1 共享存儲架構 189
8.2.2 無共享存儲架構 189
8.3 雲原生分散式資料庫 PolarDB-X 190
8.3.1 架構設計 190
8.3.2 拆分方式 191
8.3.3 全局二級索引 192
8.3.4 分散式事務 193
8.3.5 HTAP 193
參考文獻 194
第9章 雲原生資料庫PolarDB 套用實踐 195
9.1 創建雲上實例 196
9.2 資料庫接入 198
9.2.1 相關賬號的創建 198
9.2.2 圖形化訪問 198
9.2.3 連線方式訪問 199
9.3 基本操作 202
9.3.1 資料庫與表創建 202
9.3.2 創建測試數據 203
9.3.3 賬號與許可權管理 204
9.3.4 數據查詢 205
9.4 雲上數據遷移 208
9.4.1 雲上數據的遷入 208
9.4.2 雲上數據的導出 211
第10章 PolarDB運維管理 212
10.1 資料庫運維概述 213
10.2 擴展資源 213
10.2.1 系統擴展 213
10.2.2 手動升降配 213
10.2.3 手動增減節點 214
10.2.4 自動升降配和增減節點 214
10.3 備份與恢復 215
10.3.1 備份 215
10.3.2 恢復 217
10.4 監控與診斷 218
10.4.1 監控與報警 218
10.4.2 診斷與最佳化 218
參考文獻 220

作者簡介

李飛飛
阿里巴巴集團副總裁,阿里雲智慧型事業群資料庫產品事業部與達摩院資料庫與存儲實驗室負責人,ACM傑出科學家。曾獲ACM與IEEE多項大獎,世界網際網路大會2019全球領先科技成果獎,浙江省科技進步一等獎,中國電子學會科技進步一等獎等。帶領團隊研發了阿里雲企業級雲原生資料庫系統。擔任多個國際及國內學術期刊和學術會議的編委、主席。中國計算機學會CCF大數據專家委員會副主任,資料庫專業委員會常委。擔任多個國際學術期刊和學術會議的編委、主席(VLDB 2021與IEEE ICDE 2021工業界主席)。
周烜
華東師範大學數據科學與工程學院教授、副院長。2001年本科畢業於復旦大學,2005年在新加坡國立大學取得博士學位,2005年至2010年期間先後在德國 L3S 研究中心和澳大利亞聯邦科工組織從事科研工作,隨後在中國人民大學任教,於2017年加入華東師範大學。他的研究興趣包括資料庫系統和信息檢索技術。他曾參與和負責多個國內外的科研項目和工業合作項目,開發各種數據管理系統,在分散式資料庫上的研究成果獲2019年國家科技進步二等獎。
蔡鵬
華東師範大學數據科學與工程學院教授,博士生導師。2015年6月加入華東師範大學數據科學與工程學院,在此之前先後就職於IBM中國研究院和百度(中國)有限公司。在VLDB、ICDE、SIGIR、ACL等國際頂級會議上發表多篇學術論文。研究方向為記憶體事務處理、於機器學習技術的自適應數據管理系統。曾獲國家科技進步二等獎、教育部科技進步一等獎。
張蓉
華東師範大學數據科學與工程學院教授,博士生導師。自2001年起從事分散式系統、資料庫相關研究與開發工作,曾作為負責人或者主要參與人員參加國家自然科學基金課題、國家863計畫項目及多項企業合作項目的研究。工作成果獲得上海市科技進步一等獎(排名第四)以及國家科學技術進步二等獎(排名第七)。研究興趣包括分散式數據管理、數據流管理和大數據基準評測。
黃貴
阿里巴巴資深技術專家,阿里雲資料庫總架構師,在阿里巴巴一直從事分散式系統、分散式資料庫核心的研發工作,先後參與自研資料庫OceanBase、PolarDB存儲系統的研發工作。技術專長和研究興趣為分散式系統設計、分散式一致性協定、資料庫核心實現等領域,曾在SIGMOD、FAST、VLDB等國際頂級會議上發表多篇學術論文。
4.2.3 時間戳方法 58
4.2.4 MVCC 61
4.2.5 InnoDB MVCC的實現 63
4.3 日誌與恢復 65
4.3.1 基本概念 65
4.3.2 邏輯日誌 66
4.3.3 物理日誌 66
4.3.4 恢復原理 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 高性能事務處理 72
4.4.3 軟硬結合最佳化 75
4.4.4 低成本分層存儲 78
4.4.5 雙存儲引擎技術 84
4.4.6 實驗評估 85
參考文獻 88
第5章 高可用共享存儲系統 89
5.1 高可用基礎 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 共享存儲架構 116
5.3.1 Aurora存儲系統 117
5.3.2 PolarFS 119
5.4 檔案系統最佳化 121
5.4.1 用戶態I/O計算 121
5.4.2 近存儲計算 124
參考文獻 130
第6章 資料庫快取 131
6.1 資料庫快取簡介 132
6.1.1 資料庫緩衝作用 132
6.1.2 緩衝池 132
6.2 快取恢復 133
6.2.1 雲環境對快取的挑戰 133
6.2.2 基於CPU與記憶體分離的快取恢復 133
6.3 PolarDB的實踐 135
6.3.1 緩衝池的最佳化 135
6.3.2 數據字典快取和檔案系統快取的最佳化 140
6.3.3 基於RDMA的共享記憶體池 141
參考文獻 146
第7章 計算引擎 147
7.1 查詢處理概述 148
7.1.1 資料庫查詢處理概述 148
7.1.2 並行查詢概述 149
7.2 查詢執行模型 151
7.2.1 火山模型 151
7.2.2 編譯執行模型 152
7.2.3 向量化執行模型 152
7.3 查詢最佳化概述 153
7.3.1 查詢最佳化整體介紹 153
7.3.2 邏輯查詢最佳化 153
7.3.3 物理查詢最佳化 154
7.3.4 其他最佳化方法 154
7.4 PolarDB查詢引擎實踐 155
7.4.1 PolarDB的並行查詢技術 155
7.4.2 PolarDB的執行計畫管理 168
7.4.3 PolarDB的向量化執行 175
參考文獻 178
第8章 雲原生與分散式融合 179
8.1 分散式資料庫的基本原理 180
8.1.1 分散式資料庫架構 180
8.1.2 數據分區 181
8.1.3 分散式事務 183
8.1.4 MPP並行查詢處理 187
8.2 分散式與雲原生 188
8.2.1 共享存儲架構 189
8.2.2 無共享存儲架構 189
8.3 雲原生分散式資料庫 PolarDB-X 190
8.3.1 架構設計 190
8.3.2 拆分方式 191
8.3.3 全局二級索引 192
8.3.4 分散式事務 193
8.3.5 HTAP 193
參考文獻 194
第9章 雲原生資料庫PolarDB 套用實踐 195
9.1 創建雲上實例 196
9.2 資料庫接入 198
9.2.1 相關賬號的創建 198
9.2.2 圖形化訪問 198
9.2.3 連線方式訪問 199
9.3 基本操作 202
9.3.1 資料庫與表創建 202
9.3.2 創建測試數據 203
9.3.3 賬號與許可權管理 204
9.3.4 數據查詢 205
9.4 雲上數據遷移 208
9.4.1 雲上數據的遷入 208
9.4.2 雲上數據的導出 211
第10章 PolarDB運維管理 212
10.1 資料庫運維概述 213
10.2 擴展資源 213
10.2.1 系統擴展 213
10.2.2 手動升降配 213
10.2.3 手動增減節點 214
10.2.4 自動升降配和增減節點 214
10.3 備份與恢復 215
10.3.1 備份 215
10.3.2 恢復 217
10.4 監控與診斷 218
10.4.1 監控與報警 218
10.4.2 診斷與最佳化 218
參考文獻 220

作者簡介

李飛飛
阿里巴巴集團副總裁,阿里雲智慧型事業群資料庫產品事業部與達摩院資料庫與存儲實驗室負責人,ACM傑出科學家。曾獲ACM與IEEE多項大獎,世界網際網路大會2019全球領先科技成果獎,浙江省科技進步一等獎,中國電子學會科技進步一等獎等。帶領團隊研發了阿里雲企業級雲原生資料庫系統。擔任多個國際及國內學術期刊和學術會議的編委、主席。中國計算機學會CCF大數據專家委員會副主任,資料庫專業委員會常委。擔任多個國際學術期刊和學術會議的編委、主席(VLDB 2021與IEEE ICDE 2021工業界主席)。
周烜
華東師範大學數據科學與工程學院教授、副院長。2001年本科畢業於復旦大學,2005年在新加坡國立大學取得博士學位,2005年至2010年期間先後在德國 L3S 研究中心和澳大利亞聯邦科工組織從事科研工作,隨後在中國人民大學任教,於2017年加入華東師範大學。他的研究興趣包括資料庫系統和信息檢索技術。他曾參與和負責多個國內外的科研項目和工業合作項目,開發各種數據管理系統,在分散式資料庫上的研究成果獲2019年國家科技進步二等獎。
蔡鵬
華東師範大學數據科學與工程學院教授,博士生導師。2015年6月加入華東師範大學數據科學與工程學院,在此之前先後就職於IBM中國研究院和百度(中國)有限公司。在VLDB、ICDE、SIGIR、ACL等國際頂級會議上發表多篇學術論文。研究方向為記憶體事務處理、於機器學習技術的自適應數據管理系統。曾獲國家科技進步二等獎、教育部科技進步一等獎。
張蓉
華東師範大學數據科學與工程學院教授,博士生導師。自2001年起從事分散式系統、資料庫相關研究與開發工作,曾作為負責人或者主要參與人員參加國家自然科學基金課題、國家863計畫項目及多項企業合作項目的研究。工作成果獲得上海市科技進步一等獎(排名第四)以及國家科學技術進步二等獎(排名第七)。研究興趣包括分散式數據管理、數據流管理和大數據基準評測。
黃貴
阿里巴巴資深技術專家,阿里雲資料庫總架構師,在阿里巴巴一直從事分散式系統、分散式資料庫核心的研發工作,先後參與自研資料庫OceanBase、PolarDB存儲系統的研發工作。技術專長和研究興趣為分散式系統設計、分散式一致性協定、資料庫核心實現等領域,曾在SIGMOD、FAST、VLDB等國際頂級會議上發表多篇學術論文。

相關詞條

熱門詞條

聯絡我們