Apache ShardingSphere 中文文档 5.4.1其他异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 9.4.2 服务器错误码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414 10 开发者手册 415 10.1 运行模式 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 2.3. 可插拔:构建数据库功能生态0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2其他异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 9.4.2 服务器错误码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 394 10 开发者手册 395 10.1 运行模式 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 2.3. 可插拔:构建数据库功能生态0 码力 | 508 页 | 4.44 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档其他异常 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 9.4.2 服务器错误码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 440 10 开发者手册 441 10.1 运行模式 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的 功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动内核代码。 2.3.3 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 2.3. 可插拔:构建数据库功能生态0 码力 | 557 页 | 4.61 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alpha. 21 SQL 解析 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 执行器优化 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 SQL 路由 . . . . . 公布的分布式主键生成算法,它能够保证不同进程主键的不重复性,以及相同进程 主键的有序性。 实现原理 在同一个进程中,它首先是通过时间位保证不重复,如果时间相同则是通过序列位保证。同时由于时间 位是单调递增的,且各个服务器如果大体做了时间同步,那么生成的主键在分布式环境可以认为是总体 有序的,这就保证了对索引字段的插入的高效性。例如 MySQL 的 Innodb 存储引擎的主键。 使用雪花算法生成的主键,二进制表示形式包含 么生成器会等待到下个毫秒继续生成。 雪花算法主键的详细结构见下图。 3.1. 数据分片 19 Apache ShardingSphere document, v5.0.0-beta 时钟回拨 服务器时钟回拨会导致产生重复序列,因此默认分布式主键生成器提供了一个最大容忍的时钟回拨毫秒 数。如果时钟回拨的时间超过最大容忍的毫秒数阈值,则程序报错;如果在可容忍的范围内,默认分布 式主键生成器会等待0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 3.4. 可插拔架构 16 4 功能 公布的分布式主键生成算法,它能够保证不同进程主键的不重复性,以及相同进程 主键的有序性。 实现原理 在同一个进程中,它首先是通过时间位保证不重复,如果时间相同则是通过序列位保证。同时由于时间 位是单调递增的,且各个服务器如果大体做了时间同步,那么生成的主键在分布式环境可以认为是总体 有序的,这就保证了对索引字段的插入的高效性。例如 MySQL 的 Innodb 存储引擎的主键。 使用雪花算法生成的主键,二进制表示形式包含0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere document, v5.1.1 L2 功能层 用于提供增量能 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 3.4. 可插拔架构 17 4 功能 公布的分布式主键生成算法,它能够保证不同进程主键的不重复性,以及相同进程 主键的有序性。 实现原理 在同一个进程中,它首先是通过时间位保证不重复,如果时间相同则是通过序列位保证。同时由于时间 位是单调递增的,且各个服务器如果大体做了时间同步,那么生成的主键在分布式环境可以认为是总体 有序的,这就保证了对索引字段的插入的高效性。例如 MySQL 的 Innodb 存储引擎的主键。 使用雪花算法生成的主键,二进制表示形式包含0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere document, v5.1.0 L2 功能层 用于提供增量能 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 3.4. 可插拔架构 17 4 功能 公布的分布式主键生成算法,它能够保证不同进程主键的不重复性,以及相同进程 主键的有序性。 实现原理 在同一个进程中,它首先是通过时间位保证不重复,如果时间相同则是通过序列位保证。同时由于时间 位是单调递增的,且各个服务器如果大体做了时间同步,那么生成的主键在分布式环境可以认为是总体 有序的,这就保证了对索引字段的插入的高效性。例如 MySQL 的 Innodb 存储引擎的主键。 使用雪花算法生成的主键,二进制表示形式包含0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.01 SQL 错误码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269 4.4.2 服务器错误码 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 271 5 开发者手册 272 5.1 运行模式 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的,可以包含零至多个组件。组件之间完全隔离,互无感知,多 组件可通过叠加的方式相互配合 内核代码。 1.2. 设计哲学 5 Apache ShardingSphere document, v5.2.0 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 1.3 部署形态 1.3.1 部署形态0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere document, v5.1.2 L2 功能层 用于提供增量能 等。用户自定义功能可完全面向 Apache ShardingSphere 定义的顶层接口进行定制化扩展,而无需改动 内核代码。 L3 生态层 用于对接和融入现有数据库生态,包括数据库协议、SQL 解析器和存储适配器,分别对应于 Apache Shard‐ ingSphere 以数据库协议提供服务的方式、SQL 方言操作数据的方式以及对接存储节点的数据库类型。 3.4. 可插拔架构 17 4 功能 公布的分布式主键生成算法,它能够保证不同进程主键的不重复性,以及相同进程 主键的有序性。 实现原理 在同一个进程中,它首先是通过时间位保证不重复,如果时间相同则是通过序列位保证。同时由于时间 位是单调递增的,且各个服务器如果大体做了时间同步,那么生成的主键在分布式环境可以认为是总体 有序的,这就保证了对索引字段的插入的高效性。例如 MySQL 的 Innodb 存储引擎的主键。 使用雪花算法生成的主键,二进制表示形式包含0 码力 | 446 页 | 4.67 MB | 1 年前3
01 Sharding JDBC概览JDBC、Sharding-Proxy和Sharding-Sidecar(计划中)这3款相互独立的产品组成。 他们均提 供标准化的数据分片、分布式事务和数据库治理功能,可适用于如Java同构、异构语言、容 器、云原生等各种多样化的应用场景。 当前版本:3.0 官网地址: https://shardingsphere.apache.org/index_zh.html ShardingSphere构成: SQL解析 => 执行器优化 => SQL路由 => SQL改写 => SQL执行 => 结果归并 的流程组成。 SQL解析 分为词法解析和语法解析。 先通过词法解析器将SQL拆分为一个个不可再分的单词。再使用语 法解析器对SQL进行理解,并最终提炼出解析上下文。 解析上下文包括表、选择项、排序项、 分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如OR等。 SQL改写 将SQL改写为在真实数据库中可以正确执行的语句。SQL改写分为正确性改写和优化改写。 SQL执行 通过多线程执行器异步执行。 结果归并 将多个执行结果集归并以便于通过统一的JDBC接口输出。结果归并包括流式归并、内存归并和 使用装饰者模式的追加归并这几种方式。 1.8 规划线路图0 码力 | 6 页 | 781.70 KB | 1 年前3
共 18 条
- 1
- 2













