没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
试读
478页
Apache ShardingSphere 是一款开源的分布式数据库生态项目,由 JDBC 和 Proxy 两款产品组成。其核心采用微内核 + 可插拔架构,通过插件开放扩展功能。它提供多源异构数据库增强平台,进而围绕其上层构建生态。 Apache ShardingSphere 设计哲学为 Database Plus,旨在构建异构数据库上层的标准和生态。它关注如何充分合理地利用数据库的计算和存储能力,而并非实现一个全新的数据库。它站在数据库的上层视角,关注它们之间的协作多于数据库自身。 hardingSphere‐JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连 数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template 或直接 使用 JDBC; • 支持任何第三方的数据库连接池,如:DBCP, C3P0, BoneCP
资源推荐
资源详情
资源评论
Apache ShardingSphere document
Apache ShardingSphere
2022 年 09 月 09 日
Contents
1 什么是 ShardingSphere 2
1.1 介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.1 ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2 产品功能 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 产品优势 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.4 线路规划 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.5 如何参与 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2 设计哲学 5
2.1 连接:打造数据库上层标准 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 增强:数据库计算增强引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3 可插拔:构建数据库功能生态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.3.1 L1 内核层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.2 L2 功能层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.3.3 L3 生态层 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3 部署形态 8
3.1 部署形态 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.1 ShardingSphere‐JDBC 独立部署 . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.1.2 ShardingSphere‐Proxy 独立部署 . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.1.3 混合部署架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2 运行模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.1 单机模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
3.2.2 集群模式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
4 快速入门 12
4.1 ShardingSphere‐JDBC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.2 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.3 前提条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
4.1.4 操作步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
i
4.2 ShardingSphere‐Proxy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.1 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.2 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.3 前提条件 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.4 操作步骤 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
5 功能 16
5.1 数据分片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.1.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
垂直分片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
水平分片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
5.1.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
海量数据高并发的 OLTP 场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
海量数据实时分析 OLAP 场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.5 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.1.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
表 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
数据节点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
分片 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
行表达式 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
分布式主键 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
5.1.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
稳定支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
实验性支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
不支持 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
5.1.8 附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2 分布式事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
5.2.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
5.2.4 原理介绍 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
LOCAL 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
XA 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
BASE 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
5.2.5 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ShardingSphere XA 事务使用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . 30
ShardingSphere BASE 事务使用场景 . . . . . . . . . . . . . . . . . . . . . . . . . 30
ShardingSphere LOCAL 事务使用场景 . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.6 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
5.2.7 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
XA 协议 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
5.2.8 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
LOCAL 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
ii
XA 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
BASE 事务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.2.9 附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3 读写分离 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
5.3.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
5.3.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
复杂的主从数据库架构 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.5 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.3.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
主库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
从库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
主从同步 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
负载均衡策略 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.3.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4 高可用 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
5.4.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
5.4.5
相关参考
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
高可用类型 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
动态读写分离 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.4.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
支持项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
不支持项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5 数据库网关 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.5.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5.5 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
SQL 方言 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.5.6 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6 流量治理 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
5.6.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
计算节点过载保护 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
存储节点限流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.6.5 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
熔断 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
iii
限流 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
5.7 数据迁移 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.5 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
5.7.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
节点 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
集群 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
源端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
目标端 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
数据迁移作业 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
存量数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
增量数据 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.7.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
支持项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
不支持项 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8 数据加密 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
5.8.3
目标
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
新上线业务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
成熟业务 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8.5 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5.8.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
逻辑列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
密文列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
查询辅助列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
明文列 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.8.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.8.8 附录 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.9 影子库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.9.1 背景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.9.2 挑战 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.9.3 目标 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.9.4 应用场景 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.9.5 相关参考 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.9.6 核心概念 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
生产库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
影子库 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
影子算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
5.9.7 使用限制 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
基于 Hint 的影子算法 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
iv
剩余477页未读,继续阅读
资源评论
Briant996
- 粉丝: 1186
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于STM32F103C8T6单片机蓄电池在线监测系统主板硬件(原理图+PCB)工程文件.zip
- mysql大纲资料.txt
- c++大纲资料.txt
- 效率工具bat脚本实现日志提取
- MyBatis 中动态 SQL 的示例
- STM8L101F3P6单片机+CC1100模块433M遥控器设计硬件(原理图+PCB)工程文件.zip
- 上传下载铁人下载系统 Liuxing 1.0-liuxing1.0.rar
- 南京邮电大学数学实验实力雄厚,凭借其优秀的师资力量、丰富的实践教学资源和卓越的科研成果,成为国内一流的数学实验教学和科研基地
- 【火爆朋友圈的今天吃什么源码 v1.0】随机的为用户带来每一天的用餐选择和推荐.rar
- MPU6050中文版数据手册
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功