注冊 | 登錄讀書好,好讀書,讀好書!
讀書網(wǎng)-DuShu.com
當(dāng)前位置: 首頁出版圖書科學(xué)技術(shù)計(jì)算機(jī)/網(wǎng)絡(luò)數(shù)據(jù)庫數(shù)據(jù)庫挖掘/數(shù)據(jù)倉庫Apache ShardingSphere權(quán)威指南

Apache ShardingSphere權(quán)威指南

Apache ShardingSphere權(quán)威指南

定 價(jià):¥89.80

作 者: 潘娟 張亮 [阿爾及利亞]亞幸·西·塔伊布(Yacine Si Tayeb)
出版社: 人民郵電出版社
叢編項(xiàng):
標(biāo) 簽: 暫缺

ISBN: 9787115636638 出版時(shí)間: 2024-10-01 包裝: 平裝-膠訂
開本: 16開 頁數(shù): 字?jǐn)?shù):  

內(nèi)容簡介

  Apache ShardingSphere 是一個(gè)基于可插拔特性和云原生原則的新開源生態(tài)系統(tǒng),將其用于分布式數(shù)據(jù)基礎(chǔ)設(shè)施有助于增強(qiáng)數(shù)據(jù)庫性能。本書首先簡要概述數(shù)據(jù)庫管理系統(tǒng)在生產(chǎn)環(huán)境中面臨的主要挑戰(zhàn)和數(shù)據(jù)庫軟件的內(nèi)核概念;然后介紹使用分布式數(shù)據(jù)庫解決方案、彈性伸縮、用戶身份認(rèn)證、SOL授權(quán)、全鏈路監(jiān)控、數(shù)據(jù)庫網(wǎng)關(guān)和 DistSOL的真實(shí)示例,全面講解 ShardingSphere 的架構(gòu)組件,以及如何利用它們配置和插入現(xiàn)有的基礎(chǔ)架構(gòu)并管理數(shù)據(jù)和應(yīng)用;接著介紹生態(tài)系統(tǒng)的客戶端 ShardingSphere-JDBC 和 ShardingSphere-Proxy,以及它們?nèi)绾瓮瑫r(shí)或獨(dú)立地工作以滿足實(shí)際需求;最后講解如何定制可插拔架構(gòu)以定義個(gè)性化的用戶策略和無縫管理多個(gè)配置,并在各種場景下對數(shù)據(jù)庫進(jìn)行基準(zhǔn)測試和性能測試。

作者簡介

  潘娟,SphereEx 聯(lián)合創(chuàng)始人兼首席技術(shù)官(CTO)。她是 Apache 基金會(huì)會(huì)員和孵化器導(dǎo)師、Apache ShardingSphere 項(xiàng)目管理委員會(huì)(project management committee,PMC)成員、AWS 大俠、騰訊云 TVP。她曾負(fù)責(zé)京東數(shù)科數(shù)據(jù)庫智能平臺(tái)的設(shè)計(jì)與研發(fā),現(xiàn)專注于分布式數(shù)據(jù)庫和中間件生態(tài)及開源領(lǐng)域。她被評為中國開源先鋒人物、OSCAR 尖峰開源人物、CSDN IT 領(lǐng)軍人物、掘金引力榜年度新銳人物。 張亮,SphereEx 公司創(chuàng)始人兼首席執(zhí)行官(CEO)。他是數(shù)據(jù)庫領(lǐng)域?qū)嵺`者、Apache 基金會(huì)會(huì)員、微軟 MVP、阿里云 MVP、騰訊云 TVP、華為云 MVP、Apache ShardingSphere 創(chuàng)始人和 PMC 主席。他擁有超過 10 年的數(shù)據(jù)庫領(lǐng)域探索、實(shí)踐經(jīng)驗(yàn),熱愛開源,擅長分布式架構(gòu),推崇優(yōu)雅代碼。他曾在多個(gè)大型互聯(lián)網(wǎng)公司任職架構(gòu)、數(shù)據(jù)庫團(tuán)隊(duì)負(fù)責(zé)人。他在 ICDE 發(fā)表過論文“Apache ShardingSphere—A Holistic and Pluggable Platform for Data Sharding”,是《未來架構(gòu):從服務(wù)化到云原生》的作者。 亞幸·西·塔伊布(Yacine Si Tayeb)博士是 Apache 基金會(huì)的貢獻(xiàn)者,也是 Apache ShardingSphere 社區(qū)的關(guān)鍵貢獻(xiàn)者和建設(shè)者。他出生于阿爾及利亞,幼年移居意大利,大學(xué)期間來到北京,目前已獲得企業(yè)管理博士學(xué)位。出于對技術(shù)和創(chuàng)新的熱情,他在中國的初創(chuàng)公司和科技領(lǐng)域深耕多年。他的職業(yè)生涯和研究領(lǐng)域受到科技和商業(yè)交匯的影響。作為一位發(fā)表了社會(huì)科學(xué)引文索引(Social Sciences Citation Index,SSCI)論文的學(xué)者,他對技術(shù)的濃厚興趣引導(dǎo)他開展了關(guān)于公司治理和財(cái)務(wù)績效對公司創(chuàng)新結(jié)果的影響的研究。在此期間,他的研究方向逐漸演變成關(guān)于 Apache ShardingSphere 大數(shù)據(jù)生態(tài)系統(tǒng)和開源社區(qū)的建設(shè)。

圖書目錄

第 一部分 ShardingSphere 簡介
第 1 章 DBMS 和 DBA 的演變及ShardingSphere 扮演的角色 3
1.1 DBMS 的演變 4
1.1.1 行業(yè)痛點(diǎn) 5
1.1.2 給 DBMS 帶來新機(jī)會(huì)的行業(yè)新需求 6
1.2 DBA 角色的演變 6
1.2.1 壓倒性的流量負(fù)載增長 7
1.2.2 用于前端服務(wù)的微服務(wù)架構(gòu) 7
1.2.3 云原生導(dǎo)致原有的交付和部署方式不再可行 7
1.3 DBMS 的機(jī)會(huì)和發(fā)展方向 8
1.3.1 數(shù)據(jù)庫安全 9
1.3.2 SQL、NoSQL 和 NewSQL 9
1.3.3 新架構(gòu) 10
1.3.4 擁抱透明的分片中間件 10
1.3.5 數(shù)據(jù)庫即服務(wù) 10
1.3.6 AI 數(shù)據(jù)庫管理平臺(tái) 11
1.3.7 數(shù)據(jù)庫遷移 11
1.4 理解 ShardingSphere 12
1.4.1 連接 12
1.4.2 增強(qiáng) 13
1.4.3 可插拔 13
1.5 小結(jié) 16
第 2 章 ShardingSphere 架構(gòu)概述 17
2.1 分布式數(shù)據(jù)庫架構(gòu) 18
2.2 基于 SQL 的負(fù)載均衡層 18
2.2.1 使用邊車模式改善性能和可用性 20
2.2.2 改變云原生數(shù)據(jù)庫開發(fā)路徑的數(shù)據(jù)庫網(wǎng)格 20
2.3 ShardingSphere 和數(shù)據(jù)庫網(wǎng)格 22
2.4 使用 Database Plus 解決數(shù)據(jù)庫痛點(diǎn) 22
2.5 基于 Database Plus 的架構(gòu) 24
2.5.1 功能架構(gòu) 24
2.5.2 客戶端 25
2.5.3 特性層簡介 26
2.6 部署架構(gòu) 29
2.7 插件平臺(tái) 30
2.7.1 微內(nèi)核生態(tài) 30
2.7.2 簡單下推引擎 32
2.7.3 SQL 聯(lián)邦引擎 33
2.8 小結(jié) 34
第二部分 ShardingSphere架構(gòu)、安裝和配置
第 3 章 關(guān)鍵特性和應(yīng)用場景——分布式數(shù)據(jù)庫精髓 37
3.1 分布式數(shù)據(jù)庫解決方案 37
3.2 數(shù)據(jù)分片 38
3.2.1 垂直分片 38
3.2.2 水平分片 39
3.2.3 數(shù)據(jù)分片要點(diǎn) 40
3.2.4 為什么需要分片 44
3.3 SQL 優(yōu)化 44
3.3.1 SQL 優(yōu)化的定義 44
3.3.2 SQL 優(yōu)化的價(jià)值 46
3.4 分布式事務(wù)及其特征 46
3.4.1 分布式事務(wù) 46
3.4.2 ShardingSphere 對事務(wù)的支持 47
3.4.3 事務(wù)模式比較 48
3.5 彈性伸縮簡介 49
3.5.1 掌握彈性伸縮 49
3.5.2 彈性伸縮的實(shí)現(xiàn)流程 50
3.5.3 彈性伸縮要點(diǎn) 51
3.5.4 如何利用彈性伸縮解決實(shí)際問題 53
3.6 讀寫分離 54
3.6.1 讀寫分離的定義 54
3.6.2 讀寫分離功能的要點(diǎn) 55
3.6.3 工作原理 55
3.6.4 應(yīng)用場景 55
3.7 小結(jié) 56
第 4 章 關(guān)鍵特性和應(yīng)用場景——性能和安全 57
4.1 理解高可用性 57
4.1.1 數(shù)據(jù)庫高可用性 58
4.1.2 ShardingSphere 的高可用性 58
4.2 數(shù)據(jù)加解密 60
4.2.1 什么是數(shù)據(jù)加解密 60
4.2.2 關(guān)鍵組件 61
4.2.3 工作流程 62
4.2.4 應(yīng)用場景 63
4.3 用戶身份認(rèn)證 66
4.3.1 DBMS 身份認(rèn)證和分布式數(shù)據(jù)庫身份認(rèn)證 66
4.3.2 機(jī)制 67
4.3.3 工作流程 68
4.3.4 配置 68
4.4 SQL 授權(quán) 69
4.4.1 定義 SQL 授權(quán) 70
4.4.2 機(jī)制 70
4.4.3 規(guī)劃 71
4.4.4 應(yīng)用場景 71
4.5 數(shù)據(jù)庫和應(yīng)用的全鏈路監(jiān)控 71
4.5.1 工作原理 71
4.5.2 一個(gè)全面的全鏈路監(jiān)控解決方案 72
4.6 數(shù)據(jù)庫網(wǎng)關(guān) 72
理解數(shù)據(jù)庫網(wǎng)關(guān) 72
4.7 分布式 SQL 76
4.7.1 DistSQL 簡介 76
4.7.2 應(yīng)用場景 77
4.7.3 有關(guān) DistSQL 的其他說明 79
4.7.4 對 ShardingSphere 的影響 80
4.8 理解集群模式 80
4.8.1 集群模式的定義 80
4.8.2 核心概念 81
4.8.3 與其他 ShardingSphere 特性的兼容性 81
4.9 集群管理 82
4.9.1 計(jì)算節(jié)點(diǎn) 82
4.9.2 存儲(chǔ)節(jié)點(diǎn) 83
4.10 可觀察性 83
4.10.1 什么是可觀察性 84
4.10.2 將可觀察性應(yīng)用于 IT 系統(tǒng) 84
4.10.3 機(jī)制 84
4.10.4 應(yīng)用場景 85
4.11 小結(jié) 86
第 5 章 探索 ShardingSphere適配器 87
5.1 技術(shù)需求 87
5.2 ShardingSphere-JDBC 和ShardingSphere-Proxy 之間的差別 88
5.3 ShardingSphere-JDBC 88
5.3.1 開發(fā)機(jī)制 89
5.3.2 適用場景和目標(biāo)用戶 90
5.3.3 部署和用戶快速入門指南 91
5.4 ShardingSphere-Proxy 92
5.4.1 開發(fā)機(jī)制 92
5.4.2 適用場景和目標(biāo)用戶 93
5.4.3 部署和用戶快速入門指南 94
5.4.4 從官網(wǎng)下載 94
5.5 混合部署架構(gòu)簡介 98
5.5.1 適用場景和目標(biāo)用戶 98
5.5.2 部署和用戶快速入門指南 99
5.6 小結(jié) 101
第 6 章 安裝并配置ShardingSphere-Proxy 102
6.1 技術(shù)需求 102
6.1.1 使用二進(jìn)制包安裝 103
6.1.2 使用 Docker 安裝 103
6.2 分布式 SQL 簡介 103
6.3 配置分片 104
6.3.1 DistSQL 104
6.3.2 YAML 配置項(xiàng) 106
6.4 配置讀寫分離 108
6.4.1 DistSQL 108
6.4.2 YAML 配置項(xiàng) 108
6.5 配置加密 109
6.5.1 DistSQL 109
6.5.2 YAML 配置項(xiàng) 110
6.6 配置影子庫 111
6.6.1 DistSQL 111
6.6.2 YAML 配置項(xiàng) 112
6.7 配置模式 113
6.8 配置彈性伸縮 113
6.8.1 DistSQL 114
6.8.2 YAML 配置項(xiàng) 115
6.9 配置多特性和服務(wù)器屬性 115
6.9.1 DistSQL 115
6.9.2 YAML 配置項(xiàng) 116
6.10 配置混合配置 116
6.10.1 DistSQL 117
6.10.2 YAML 配置項(xiàng) 117
6.11 配置服務(wù)器 118
6.11.1 授權(quán) 118
6.11.2 事務(wù) 119
6.11.3 特性配置 119
6.12 小結(jié) 121
第 7 章 準(zhǔn)備并配置 ShardingSphere-JDBC 122
7.1 技術(shù)需求 122
7.2 準(zhǔn)備工作和配置方法 122
7.2.1 基本需求簡介 122
7.2.2 配置方法簡介 124
7.3 分片配置 124
7.3.1 Java 配置項(xiàng) 124
7.3.2 YAML 配置項(xiàng) 128
7.3.3 Spring Boot 配置項(xiàng) 129
7.3.4 Spring 命名空間配置項(xiàng) 131
7.4 讀寫分離配置 133
7.4.1 Java 配置項(xiàng) 133
7.4.2 YAML 配置項(xiàng) 134
7.4.3 Spring Boot 配置項(xiàng) 135
7.4.4 Spring 命名空間配置項(xiàng) 135
7.5 數(shù)據(jù)加密配置 136
7.5.1 Java 配置項(xiàng) 136
7.5.2 YAML 配置項(xiàng) 138
7.5.3 Spring Boot 配置項(xiàng) 139
7.5.4 Spring 命名空間配置項(xiàng) 140
7.6 影子庫配置 141
7.6.1 Java 配置項(xiàng) 141
7.6.2 YAML 配置項(xiàng) 141
7.6.3 Spring Boot 配置示例 142
7.6.4 Spring 命名空間配置項(xiàng) 143
7.7 ShardingSphere 模式配置 143
7.7.1 Java 配置項(xiàng) 144
7.7.2 YAML 配置項(xiàng) 145
7.7.3 Spring Boot 配置項(xiàng) 146
7.7.4 Spring 命名空間配置示例 147
7.8 ShardingSphere-JDBC 屬性配置 147
7.8.1 Java 配置項(xiàng) 147
7.8.2 YAML 配置項(xiàng) 148
7.8.3 Spring Boot 配置項(xiàng) 149
7.8.4 Spring 命名空間配置項(xiàng) 149
7.9 混合配置 149
7.9.1 分片、讀寫分離和集群配置項(xiàng) 149
7.9.2 配置分片、加密和集群模式 151
7.10 小結(jié) 153
第三部分 ShardingSphere 實(shí)例、性能和場景測試
第 8 章 Database Plus 及可插拔架構(gòu) 157
8.1 技術(shù)需求 157
8.2 Database Plus 簡介 158
8.2.1 ShardingSphere 追求的Database Plus 158
8.2.2 連接—打造數(shù)據(jù)庫上層標(biāo)準(zhǔn) 158
8.2.3 增強(qiáng)—數(shù)據(jù)集計(jì)算增強(qiáng)引擎 158
8.2.4 可插拔—打造面向數(shù)據(jù)庫的功能生態(tài) 159
8.3 可插拔架構(gòu)和 SPI 簡介 159
8.3.1 ShardingSphere 的可插拔架構(gòu) 159
8.3.2 可擴(kuò)展的算法和接口 160
8.4 用戶定義的功能和策略——SQL 解析引擎、數(shù)據(jù)分片、讀寫分離和分布式事務(wù) 162
8.4.1 SQL 解析引擎 162
8.4.2 數(shù)據(jù)分片 163
8.4.3 讀寫分離 165
8.4.4 分布式事務(wù) 166
8.5 用戶定義的功能和策略—數(shù)據(jù)加密、用戶身份認(rèn)證、SQL 授權(quán)、影子庫、分布式治理和伸縮 168
8.5.1 數(shù)據(jù)加密 168
8.5.2 用戶身份認(rèn)證 169
8.5.3 SQL 授權(quán) 170
8.5.4 影子庫 172
8.5.5 分布式治理 174
8.5.6 伸縮 178
8.6 ShardingSphere-Proxy 的屬性調(diào)整和應(yīng)用場景 180
8.6.1 屬性參數(shù)簡介 180
8.6.2 可擴(kuò)展的算法 183
8.7 小結(jié) 187
第 9 章 基準(zhǔn)和性能測試系統(tǒng)簡介 188
9.1 技術(shù)需求 188
9.2 基準(zhǔn)測試 189
9.2.1 Sysbench 189
9.2.2 BenchmarkSQL 191
9.2.3 另一款有必要知道的基準(zhǔn)測試工具 193
9.2.4 數(shù)據(jù)庫 195
9.2.5 ShardingSphere 196
9.3 性能測試 197
9.3.1 測試準(zhǔn)備 197
9.3.2 性能測試工作流程 198
9.3.3 搭建環(huán)境 199
9.3.4 壓力測試 199
9.3.5 結(jié)果報(bào)告分析 201
9.4 小結(jié) 201
第 10 章 測試常見的應(yīng)用場景 202
10.1 技術(shù)需求 202
10.2 測試分布式數(shù)據(jù)庫場景 203
10.2.1 為測試分布式系統(tǒng)做準(zhǔn)備 203
10.2.2 部署和配置 203
10.2.3 如何測試分布式系統(tǒng) 206
10.2.4 分析 ShardingSphere-Proxy 分片特性 209
10.3 基于場景的數(shù)據(jù)庫安全測試 210
10.3.1 為測試數(shù)據(jù)庫安全做準(zhǔn)備 211
10.3.2 部署和配置 211
10.3.3 如何運(yùn)行數(shù)據(jù)庫安全測試 212
10.3.4 報(bào)告分析 213
10.4 全鏈路監(jiān)控 214
10.4.1 為測試全鏈路監(jiān)控做準(zhǔn)備 214
10.4.2 部署和配置 214
10.4.3 如何執(zhí)行全鏈路監(jiān)控測試 216
10.4.4 報(bào)告分析 217
10.5 數(shù)據(jù)庫網(wǎng)關(guān) 217
10.5.1 為測試數(shù)據(jù)庫網(wǎng)關(guān)做準(zhǔn)備 217
10.5.2 部署和配置 218
10.5.3 如何運(yùn)行數(shù)據(jù)庫網(wǎng)關(guān)測試 219
10.5.4 報(bào)告分析 221
10.6 小結(jié) 223
第 11 章 探索最佳的 ShardingSphere 使用案例 224
11.1 技術(shù)需求 224
11.2 推薦的分布式數(shù)據(jù)庫解決方案 225
11.2.1 可供選擇的兩個(gè)客戶端 226
11.2.2 DBMS 227
11.2.3 分片策略 227
11.2.4 分布式事務(wù) 229
11.2.5 高可用性和讀寫分離策略 230
11.2.6 彈性伸縮 231
11.2.7 分布式治理 232
11.3 推薦的數(shù)據(jù)庫安全解決方案 233
11.3.1 使用 ShardingSphere 實(shí)現(xiàn)數(shù)據(jù)庫安全 233
11.3.2 可供選擇的兩個(gè)客戶端 234
11.3.3 對 DBMS 應(yīng)用數(shù)據(jù)安全解決方案 234
11.3.4 數(shù)據(jù)加密/數(shù)據(jù)脫敏 235
11.3.5 包含加密的數(shù)據(jù)遷移 235
11.3.6 身份認(rèn)證 235
11.3.7 SQL 授權(quán)/權(quán)限檢查 236
11.4 推薦的全鏈路監(jiān)控解決方案 236
11.4.1 流量網(wǎng)關(guān) 237
11.4.2 應(yīng)用性能監(jiān)控和 Cyborg 237
11.4.3 數(shù)據(jù)庫保護(hù) 238
11.5 推薦的數(shù)據(jù)庫網(wǎng)關(guān)解決方案 238
11.5.1 概述與架構(gòu) 238
11.5.2 數(shù)據(jù)庫管理 239
11.5.3 讀寫分離 241
11.6 小結(jié) 242
第 12 章 將理論付諸實(shí)踐 243
12.1 技術(shù)需求 243
12.2 分布式數(shù)據(jù)庫解決方案 244
12.2.1 案例 1:ShardingSphere-Proxy ShardingSphere-JDBC PostgreSQL 分布式事務(wù) 集群模式 分片算法MOD 244
12.2.2 案例 2:ShardingSphere-Proxy MySQL 讀寫分離 集群模式 高可用性 分片算法 RANGE 彈性伸縮 248
12.3 數(shù)據(jù)庫安全 255
12.3.1 案例 3:ShardingSphere-Proxy ShardingSphere-JDBC PostgreSQL 數(shù)據(jù)加密 255
12.3.2 案例 4:ShardingSphere-Proxy MySQL 數(shù)據(jù)脫敏 身份認(rèn)證 權(quán)限檢查 258
12.4 全鏈路監(jiān)控 262
案例 5:全鏈路監(jiān)控 262
12.5 數(shù)據(jù)庫網(wǎng)關(guān) 269
12.5.1 部署架構(gòu) 269
12.5.2 示例配置 270
12.5.3 推薦的云端/ 自有服務(wù)器 271
12.5.4 啟動(dòng)并測試 271
12.6 小結(jié) 275
附錄 A 276

本目錄推薦

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