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

Apache ShardingSphere權威指南

Apache ShardingSphere權威指南

定 價:¥89.80

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

購買這本書可以去


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

內(nèi)容簡介

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

作者簡介

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

圖書目錄

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

本目錄推薦

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