1. Apache ShardingSphere 是一款源的分布式数据库生态系统,是Apache基金会的top项目,是目前加到Apache基金会和CNCF的数据中间件源产品。 2. 本书作者是SphereEx的创始人和国际运营主管,也是Apache ShardingSphere官方成员。 3. 本书英文原书在Amazon评星4.6 4. 通过阅读本书,你将会: ■ 使用软件的可插拔架构组装和定制解决方案; ■ 了解如何有效使用 Database Plus 理念; ■ 理解 ShardingSphere-JDBC 和 ShardingSphere-Proxy 之间的区别;
售 价:¥
纸质售价:¥85.30购买纸书
温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印
为你推荐
版 权
版权声明
内容提要
作者简介
前 言
第一部分 ShardingSphere简介
第1章 DBMS和DBA的演变及ShardingSphere扮演的角色
1.1 DBMS的演变
1.1.1 行业痛点
1.1.2 给DBMS带来新机会的行业新需求
1.2 DBA角色的演变
1.2.1 压倒性的流量负载增长
1.2.2 用于前端服务的微服务架构
1.2.3 云原生导致原有的交付和部署方式不再可行
1.3 DBMS的机会和发展方向
1.3.1 数据库安全
1.3.2 SQL、NoSQL和NewSQL
1.3.3 新架构
1.3.4 拥抱透明的分片中间件
1.3.5 数据库即服务
1.3.6 AI数据库管理平台
1.3.7 数据库迁移
1.4 理解ShardingSphere
1.4.1 连接
1.4.2 增强
1.4.3 可插拔
1.5 小结
第2章 ShardingSphere架构概述
2.1 分布式数据库架构
2.2 基于SQL的负载均衡层
2.2.1 使用边车模式改善性能和可用性
2.2.2 改变云原生数据库开发路径的数据库网格
2.3 ShardingSphere和数据库网格
2.4 使用Database Plus解决数据库痛点
2.5 基于Database Plus的架构
2.5.1 功能架构
2.5.2 客户端
2.5.3 特性层简介
2.6 部署架构
2.7 插件平台
2.7.1 微内核生态
2.7.2 简单下推引擎
2.7.3 SQL联邦引擎
2.8 小结
第二部分 ShardingSphere架构、安装和配置
第3章 关键特性和应用场景—分布式数据库精髓
3.1 分布式数据库解决方案
3.2 数据分片
3.2.1 垂直分片
3.2.2 水平分片
3.2.3 数据分片要点
3.2.4 为什么需要分片
3.3 SQL优化
3.3.1 SQL优化的定义
3.3.2 SQL优化的价值
3.4 分布式事务及其特征
3.4.1 分布式事务
3.4.2 ShardingSphere对事务的支持
3.4.3 事务模式比较
3.5 弹性伸缩简介
3.5.1 掌握弹性伸缩
3.5.2 弹性伸缩的实现流程
3.5.3 弹性伸缩要点
3.5.4 如何利用弹性伸缩解决实际问题
3.6 读写分离
3.6.1 读写分离的定义
3.6.2 读写分离功能的要点
3.6.3 工作原理
3.6.4 应用场景
3.7 小结
第4章 关键特性和应用场景—性能和安全
4.1 理解高可用性
4.1.1 数据库高可用性
4.1.2 ShardingSphere的高可用性
4.2 数据加解密
4.2.1 什么是数据加解密
4.2.2 关键组件
4.2.3 工作流程
4.2.4 应用场景
4.3 用户身份认证
4.3.1 DBMS身份认证和分布式数据库身份认证
4.3.2 机制
4.3.3 工作流程
4.3.4 配置
4.4 SQL授权
4.4.1 定义SQL授权
4.4.2 机制
4.4.3 规划
4.4.4 应用场景
4.5 数据库和应用的全链路监控
4.5.1 工作原理
4.5.2 一个全面的全链路监控解决方案
4.6 数据库网关
理解数据库网关
4.7 分布式SQL
4.7.1 DistSQL简介
4.7.2 应用场景
4.7.3 有关DistSQL的其他说明
4.7.4 对ShardingSphere的影响
4.8 理解集群模式
4.8.1 集群模式的定义
4.8.2 核心概念
4.8.3 与其他ShardingSphere特性的兼容性
4.9 集群管理
4.9.1 计算节点
4.9.2 存储节点
4.10 可观察性
4.10.1 什么是可观察性
4.10.2 将可观察性应用于IT系统
4.10.3 机制
4.10.4 应用场景
4.11 小结
第5章 探索ShardingSphere适配器
5.1 技术需求
5.2 ShardingSphere-JDBC和ShardingSphere-Proxy之间的差别
5.3 ShardingSphere-JDBC
5.3.1 开发机制
5.3.2 适用场景和目标用户
5.3.3 部署和用户快速入门指南
5.4 ShardingSphere-Proxy
5.4.1 开发机制
5.4.2 适用场景和目标用户
5.4.3 部署和用户快速入门指南
5.4.4 从官网下载
5.5 混合部署架构简介
5.5.1 适用场景和目标用户
5.5.2 部署和用户快速入门指南
5.6 小结
第6章 安装并配置ShardingSphere-Proxy
6.1 技术需求
6.1.1 使用二进制包安装
6.1.2 使用Docker安装
6.2 分布式SQL简介
6.3 配置分片
6.3.1 DistSQL
6.3.2 YAML配置项
6.4 配置读写分离
6.4.1 DistSQL
6.4.2 YAML配置项
6.5 配置加密
6.5.1 DistSQL
6.5.2 YAML配置项
6.6 配置影子库
6.6.1 DistSQL
6.6.2 YAML配置项
6.7 配置模式
6.8 配置弹性伸缩
6.8.1 DistSQL
6.8.2 YAML配置项
6.9 配置多特性和服务器属性
6.9.1 DistSQL
6.9.2 YAML配置项
6.10 配置混合配置
6.10.1 DistSQL
6.10.2 YAML配置项
6.11 配置服务器
6.11.1 授权
6.11.2 事务
6.11.3 特性配置
6.12 小结
第7章 准备并配置ShardingSphere-JDBC
7.1 技术需求
7.2 准备工作和配置方法
7.2.1 基本需求简介
7.2.2 配置方法简介
7.3 分片配置
7.3.1 Java配置项
7.3.2 YAML配置项
7.3.3 Spring Boot配置项
7.3.4 Spring命名空间配置项
7.4 读写分离配置
7.4.1 Java配置项
7.4.2 YAML配置项
7.4.3 Spring Boot配置项
7.4.4 Spring命名空间配置项
7.5 数据加密配置
7.5.1 Java配置项
7.5.2 YAML配置项
7.5.3 Spring Boot配置项
7.5.4 Spring命名空间配置项
7.6 影子库配置
7.6.1 Java配置项
7.6.2 YAML配置项
7.6.3 Spring Boot配置示例
7.6.4 Spring命名空间配置项
7.7 ShardingSphere模式配置
7.7.1 Java配置项
7.7.2 YAML配置项
7.7.3 Spring Boot配置项
7.7.4 Spring命名空间配置示例
7.8 ShardingSphere-JDBC属性配置
7.8.1 Java配置项
7.8.2 YAML配置项
7.8.3 Spring Boot配置项
7.8.4 Spring命名空间配置项
7.9 混合配置
7.9.1 分片、读写分离和集群配置项
7.9.2 配置分片、加密和集群模式
7.10 小结
第三部分 ShardingSphere实例、性能和场景测试
第8章 Database Plus及可插拔架构
8.1 技术需求
8.2 Database Plus简介
8.2.1 ShardingSphere追求的Database Plus
8.2.2 连接—打造数据库上层标准
8.2.3 增强—数据集计算增强引擎
8.2.4 可插拔—打造面向数据库的功能生态
8.3 可插拔架构和SPI简介
8.3.1 ShardingSphere的可插拔架构
8.3.2 可扩展的算法和接口
8.4 用户定义的功能和策略——SQL解析引擎、数据分片、读写分离和分布式事务
8.4.1 SQL解析引擎
8.4.2 数据分片
8.4.3 读写分离
8.4.4 分布式事务
8.5 用户定义的功能和策略——数据加密、用户身份认证、SQL授权、影子库、分布式治理和伸缩
8.5.1 数据加密
8.5.2 用户身份认证
8.5.3 SQL授权
8.5.4 影子库
8.5.5 分布式治理
8.5.6 伸缩
8.6 ShardingSphere-Proxy的属性调整和应用场景
8.6.1 属性参数简介
8.6.2 可扩展的算法
8.7 小结
第9章 基准和性能测试系统简介
9.1 技术需求
9.2 基准测试
9.2.1 Sysbench
9.2.2 BenchmarkSQL
9.2.3 另一款有必要知道的基准测试工具
9.2.4 数据库
9.2.5 ShardingSphere
9.3 性能测试
9.3.1 测试准备
9.3.2 性能测试工作流程
9.3.3 搭建环境
9.3.4 压力测试
9.3.5 结果报告分析
9.4 小结
第10章 测试常见的应用场景
10.1 技术需求
10.2 测试分布式数据库场景
10.2.1 为测试分布式系统做准备
10.2.2 部署和配置
10.2.3 如何测试分布式系统
10.2.4 分析ShardingSphere-Proxy分片特性
10.3 基于场景的数据库安全测试
10.3.1 为测试数据库安全做准备
10.3.2 部署和配置
10.3.3 如何运行数据库安全测试
10.3.4 报告分析
10.4 全链路监控
10.4.1 为测试全链路监控做准备
10.4.2 部署和配置
10.4.3 如何执行全链路监控测试
10.4.4 报告分析
10.5 数据库网关
10.5.1 为测试数据库网关做准备
10.5.2 部署和配置
10.5.3 如何运行数据库网关测试
10.5.4 报告分析
10.6 小结
第11章 探索最佳的ShardingSphere使用案例
11.1 技术需求
11.2 推荐的分布式数据库解决方案
11.2.1 可供选择的两个客户端
11.2.2 DBMS
11.2.3 分片策略
11.2.4 分布式事务
11.2.5 高可用性和读写分离策略
11.2.6 弹性伸缩
11.2.7 分布式治理
11.3 推荐的数据库安全解决方案
11.3.1 使用ShardingSphere实现数据库安全
11.3.2 可供选择的两个客户端
11.3.3 对DBMS应用数据安全解决方案
11.3.4 数据加密/数据脱敏
11.3.5 包含加密的数据迁移
11.3.6 身份认证
11.3.7 SQL授权/权限检查
11.4 推荐的全链路监控解决方案
11.4.1 流量网关
11.4.2 应用性能监控和Cyborg
11.4.3 数据库保护
11.5 推荐的数据库网关解决方案
11.5.1 概述与架构
11.5.2 数据库管理
11.5.3 读写分离
11.6 小结
第12章 将理论付诸实践
12.1 技术需求
12.2 分布式数据库解决方案
12.2.1 案例1:ShardingSphere-Proxy+ShardingSphere-JDBC+PostgreSQL+分布式事务+集群模式+分片算法MOD
12.2.2 案例2:ShardingSphere-Proxy+MySQL+读写分离+集群模式+高可用性+分片算法RANGE+弹性伸缩
12.3 数据库安全
12.3.1 案例3:ShardingSphere-Proxy+ShardingSphere-JDBC+PostgreSQL+数据加密
12.3.2 案例4:ShardingSphere-Proxy+MySQL+数据脱敏+身份认证+权限检查
12.4 全链路监控
案例5:全链路监控
12.5 数据库网关
12.5.1 部署架构
12.5.2 示例配置
12.5.3 推荐的云端/自有服务器
12.5.4 启动并测试
12.6 小结
附录A
A.1 如何利用资料寻找问题的答案
A.1.1 示例项目简介
A.1.2 如何使用示例项目
A.1.3 场景和示例
A.2 源代码
A.2.1 shardingsphere-kernel
A.2.2 shardingsphere-infra
A.2.3 shardingsphere-jdbc
A.2.4 shardingsphere-db-protocol
A.2.5 shardingsphere-proxy
A.2.6 shardingsphere-mode
A.2.7 shardingsphere-features
A.3 许可和版本
A.3.1 许可简介
A.3.2 版本简介
A.4 开源社区
A.5 为开源做贡献
A.6 网站和文档
A.6.1 网站
A.6.2 联系方式
A.7 结语
买过这本书的人还买过
读了这本书的人还在读
同类图书排行榜