APACHE SHARDINGSPHERE权威指南9787115636638
正版图书,可开发票,请放心购买。
¥
56.32
6.3折
¥
89.8
全新
库存80件
作者潘娟 张亮 [阿尔及利亚]亚幸·西·塔伊布(Yacine Si Tayeb) 著 张海燕 译
出版社人民邮电出版社
ISBN9787115636638
出版时间2023-02
装帧平装
开本16开
定价89.8元
货号17633016
上书时间2024-11-25
商品详情
- 品相描述:全新
- 商品描述
-
作者简介
潘娟,SphereEx 联合创始人兼首席技术官(CTO)。她是 Apache 基金会会员和孵化器导师、Apache ShardingSphere 项目管理委员会(project management committee,PMC)成员、AWS 大侠、腾讯云 TVP。她曾负责京东数科数据库智能平台的设计与研发,现专注于分布式数据库和中间件生态及开源领域。她被评为中国开源先锋人物、OSCAR 尖峰开源人物、CSDN IT 领军人物、掘金引力榜年度新锐人物。 张亮,SphereEx 公司创始人兼首席执行官(CEO)。他是数据库领域实践者、Apache 基金会会员、微软 MVP、阿里云 MVP、腾讯云 TVP、华为云 MVP、Apache ShardingSphere 创始人和 PMC 主席。他拥有超过 10 年的数据库领域探索、实践经验,热爱开源,擅长分布式架构,推崇优雅代码。他曾在多个大型互联网公司任职架构、数据库团队负责人。他在 ICDE 发表过论文“Apache ShardingSphere—A Holistic and Pluggable Platform for Data Sharding”,是《未来架构:从服务化到云原生》的作者。 亚幸·西·塔伊布(Yacine Si Tayeb)博士是 Apache 基金会的贡献者,也是 Apache ShardingSphere 社区的关键贡献者和建设者。他出生于阿尔及利亚,幼年移居意大利,大学期间来到北京,目前已获得企业管理博士学位。出于对技术和创新的热情,他在中国的初创公司和科技领域深耕多年。他的职业生涯和研究领域受到科技和商业交汇的影响。作为一位发表了社会科学引文索引(Social Sciences Citation Index,SSCI)论文的学者,他对技术的浓厚兴趣引导他开展了关于公司治理和财务绩效对公司创新结果的影响的研究。在此期间,他的研究方向逐渐演变成关于 Apache ShardingSphere 大数据生态系统和开源社区的建设。
目录
第 一部分 ShardingSphere 简介 第 1 章 DBMS 和 DBA 的演变及ShardingSphere 扮演的角色 3 1.1 DBMS 的演变 4 1.1.1 行业痛点 5 1.1.2 给 DBMS 带来新机会的行业新需求 6 1.2 DBA 角色的演变 6 1.2.1 压倒性的流量负载增长 7 1.2.2 用于前端服务的微服务架构 7 1.2.3 云原生导致原有的交付和部署方式不再可行 7 1.3 DBMS 的机会和发展方向 8 1.3.1 数据库安全 9 1.3.2 SQL、NoSQL 和 NewSQL 9 1.3.3 新架构 10 1.3.4 拥抱透明的分片中间件 10 1.3.5 数据库即服务 10 1.3.6 AI 数据库管理平台 11 1.3.7 数据库迁移 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 分布式数据库架构 18 2.2 基于 SQL 的负载均衡层 18 2.2.1 使用边车模式改善性能和可用性 20 2.2.2 改变云原生数据库开发路径的数据库网格 20 2.3 ShardingSphere 和数据库网格 22 2.4 使用 Database Plus 解决数据库痛点 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 微内核生态 30 2.7.2 简单下推引擎 32 2.7.3 SQL 联邦引擎 33 2.8 小结 34 第二部分 ShardingSphere架构、安装和配置 第 3 章 关键特性和应用场景——分布式数据库精髓 37 3.1 分布式数据库解决方案 37 3.2 数据分片 38 3.2.1 垂直分片 38 3.2.2 水平分片 39 3.2.3 数据分片要点 40 3.2.4 为什么需要分片 44 3.3 SQL 优化 44 3.3.1 SQL 优化的定义 44 3.3.2 SQL 优化的价值 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 弹性伸缩的实现流程 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 数据库高可用性 58 4.1.2 ShardingSphere 的高可用性 58 4.2 数据加解密 60 4.2.1 什么是数据加解密 60 4.2.2 关键组件 61 4.2.3 工作流程 62 4.2.4 应用场景 63 4.3 用户身份认证 66 4.3.1 DBMS 身份认证和分布式数据库身份认证 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 规划 71 4.4.4 应用场景 71 4.5 数据库和应用的全链路监控 71 4.5.1 工作原理 71 4.5.2 一个全面的全链路监控解决方案 72 4.6 数据库网关 72 理解数据库网关 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 计算节点 82 4.9.2 存储节点 83 4.10 可观察性 83 4.10.1 什么是可观察性 84 4.10.2 将可观察性应用于 IT 系统 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 开发机制 89 5.3.2 适用场景和目标用户 90 5.3.3 部署和用户快速入门指南 91 5.4 ShardingSphere-Proxy 92 5.4.1 开发机制 92 5.4.2 适用场景和目标用户 93 5.4.3 部署和用户快速入门指南 94 5.4.4 从官网下载 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 数据加密配置 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 连接—打造数据库上层标准 158 8.2.3 增强—数据集计算增强引擎 158 8.2.4 可插拔—打造面向数据库的功能生态 159 8.3 可插拔架构和 SPI 简介 159 8.3.1 ShardingSphere 的可插拔架构 159 8.3.2 可扩展的算法和接口 160 8.4 用户定义的功能和策略——SQL 解析引擎、数据分片、读写分离和分布式事务 162 8.4.1 SQL 解析引擎 162 8.4.2 数据分片 163 8.4.3 读写分离 165 8.4.4 分布式事务 166 8.5 用户定义的功能和策略—数据加密、用户身份认证、SQL 授权、影子库、分布式治理和伸缩 168 8.5.1 数据加密 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 属性参数简介 180 8.6.2 可扩展的算法 183 8.7 小结 187 第 9 章 基准和性能测试系统简介 188 9.1 技术需求 188 9.2 基准测试 189 9.2.1 Sysbench 189 9.2.2 BenchmarkSQL 191 9.2.3 另一款有必要知道的基准测试工具 193 9.2.4 数据库 195 9.2.5 ShardingSphere 196 9.3 性能测试 197 9.3.1 测试准备 197 9.3.2 性能测试工作流程 198 9.3.3 搭建环境 199 9.3.4 压力测试 199 9.3.5 结果报告分析 201 9.4 小结 201 第 10 章 测试常见的应用场景 202 10.1 技术需求 202 10.2 测试分布式数据库场景 203 10.2.1 为测试分布式系统做准备 203 10.2.2 部署和配置 203 10.2.3 如何测试分布式系统 206 10.2.4 分析 ShardingSphere-Proxy 分片特性 209 10.3 基于场景的数据库安全测试 210 10.3.1 为测试数据库安全做准备 211 10.3.2 部署和配置 211 10.3.3 如何运行数据库安全测试 212 10.3.4 报告分析 213 10.4 全链路监控 214 10.4.1 为测试全链路监控做准备 214 10.4.2 部署和配置 214 10.4.3 如何执行全链路监控测试 216 10.4.4 报告分析 217 10.5 数据库网关 217 10.5.1 为测试数据库网关做准备 217 10.5.2 部署和配置 218 10.5.3 如何运行数据库网关测试 219 10.5.4 报告分析 221 10.6 小结 223 第 11 章 探索最佳的 ShardingSphere 使用案例 224 11.1 技术需求 224 11.2 推荐的分布式数据库解决方案 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 推荐的数据库安全解决方案 233 11.3.1 使用 ShardingSphere 实现数据库安全 233 11.3.2 可供选择的两个客户端 234 11.3.3 对 DBMS 应用数据安全解决方案 234 11.3.4 数据加密/数据脱敏 235 11.3.5 包含加密的数据迁移 235 11.3.6 身份认证 235 11.3.7 SQL 授权/权限检查 236 11.4 推荐的全链路监控解决方案 236 11.4.1 流量网关 237 11.4.2 应用性能监控和 Cyborg 237 11.4.3 数据库保护 238 11.5 推荐的数据库网关解决方案 238 11.5.1 概述与架构 238 11.5.2 数据库管理 239 11.5.3 读写分离 241 11.6 小结 242 第 12 章 将理论付诸实践 243 12.1 技术需求 243 12.2 分布式数据库解决方案 244 12.2.1 案例 1:ShardingSphere-Proxy+ShardingSphere-JDBC+PostgreSQL+分布式事务+集群模式+分片算法MOD 244 12.2.2 案例 2:ShardingSphere-Proxy+MySQL+读写分离+集群模式+高可用性+分片算法 RANGE+弹性伸缩 248 12.3 数据库安全 255 12.3.1 案例 3:ShardingSphere-Proxy+ShardingSphere-JDBC+PostgreSQL+数据加密 255 12.3.2 案例 4:ShardingSphere-Proxy+MySQL+数据脱敏+ 身份认证+权限检查 258 12.4 全链路监控 262 案例 5:全链路监控 262 12.5 数据库网关 269 12.5.1 部署架构 269 12.5.2 示例配置 270 12.5.3 推荐的云端/ 自有服务器 271 12.5.4 启动并测试 271 12.6 小结 275 附录 A 276
内容摘要
Apache ShardingSphere 是一个基于可插拔特性和云原生原则的新开源生态系统,将其用于分布式数据基础设施有助于增强数据库性能。本书首先简要概述数据库管理系统在生产环境中面临的主要挑战和数据库软件的内核概念;然后介绍使用分布式数据库解决方案、弹性伸缩、用户身份认证、SOL授权、全链路监控、数据库网关和 DistSOL的真实示例,全面讲解 ShardingSphere 的架构组件,以及如何利用它们配置和插入现有的基础架构并管理数据和应用;接着介绍生态系统的客户端 ShardingSphere-JDBC 和 ShardingSphere-Proxy,以及它们如何同时或独立地工作以满足实际需求;最后讲解如何定制可插拔架构以定义个性化的用户策略和无缝管理多个配置,并在各种场景下对数据库进行基准测试和性能测试。
主编推荐
1. Apache ShardingSphere 是一款开源的分布式数据库生态系统,是Apache基金会的top项目,是目前加入到Apache基金会和CNCF的数据中间件开源产品。 2. 本书作者是SphereEx的创始人和国际运营主管,也是Apache ShardingSphere官方成员。 3. 本书英文原书在Amazon评星4.6 4. 通过阅读本书,你将会: ■ 使用软件的可插拔架构组装和定制解决方案; ■ 了解如何有效使用 Database Plus 理念; ■ 理解 ShardingSphere-JDBC 和 ShardingSphere-Proxy 之间的区别; ■ 掌握 ShardingSphere 的可插拔特性; ■ 探索传统数据库和分布式数据库的主流测试模型; ■ 执行从本地数据库到云数据库的迁移; ■ 重新配置你的数据基础设施,降低切换成本。
精彩内容
Apache ShardingSphere 是一个基于可插拔特性和云原生原则的新开源生态系统,将其用于分布式数据基础设施有助于增强数据库性能。本书首先简要概述数据库管理系统在生产环境中面临的主要挑战和数据库软件的内核概念;然后介绍使用分布式数据库解决方案、弹性伸缩、用户身份认证、SOL授权、全链路监控、数据库网关和 DistSOL的真实示例,全面讲解 ShardingSphere 的架构组件,以及如何利用它们配置和插入现有的基础架构并管理数据和应用;接着介绍生态系统的客户端 ShardingSphere-JDBC 和 ShardingSphere-Proxy,以及它们如何同时或独立地工作以满足实际需求;最后讲解如何定制可插拔架构以定义个性化的用户策略和无缝管理多个配置,并在各种场景下对数据库进行基准测试和性能测试。
— 没有更多了 —
以下为对购买帮助不大的评价