 Apache ShardingSphere 中文文档 5.4.1462 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1462 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2441 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2441 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 508 页 | 4.44 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档488 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档488 12.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 488 SQL 解析引擎 . . . 层,它们是:L1 内核层、L2 功能层、L3 生态层。 2.1. 连接:打造数据库上层标准 4 Apache ShardingSphere document 2.3.1 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 2.3.2 L2 功能层 用于提供增量能力,其所有组 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0332 7.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 SQL 解析引擎 . . . 2.3 可插拔:构建数据库功能生态 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 449 页 | 5.85 MB | 1 年前3 Apache ShardingSphere 中文文档 5.2.0332 7.4.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 332 SQL 解析引擎 . . . 2.3 可插拔:构建数据库功能生态 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的 ,也 并不互相知晓其他数据节点事务的成功与否。在性能方面无任何损耗,但在强一致性以及最终一致性方 面不能够保证。 XA 事务 XA 事务采用的是 X/OPEN 组织所定义的 DTP 模型 所抽象的 AP(应用程序), TM(事务管理器)和 RM (资源管理器)概念来保证分布式事务的强一致性。其中 TM 与 RM 间采用 XA 的协议进行双向通信,通 过两阶段提交实现。与传统的本地事务相比,XA0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1227 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 SQL 解析引擎 . . . v5.1.1 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1227 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 SQL 解析引擎 . . . v5.1.1 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0222 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 SQL 解析引擎 . . . v5.1.0 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0222 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 222 SQL 解析引擎 . . . v5.1.0 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0225 7.1.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 SQL 解析引擎 . . . v5.0.0 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的 Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0225 7.1.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 225 SQL 解析引擎 . . . v5.0.0 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 L2 功能层 用于提供增量能力,其所有组件均是可选的 Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0-alpha分片。分片算法需要应用方开 发者自行实现,可实现的灵活度非常高。 目前提供 3 种分片算法。由于分片算法和业务实现紧密相关,因此并未提供内置分片算法,而是通过分 片策略将各种场景提炼出来,提供更高层级的抽象,并提供接口让应用开发者自行实现分片算法。 • 标准分片算法 对应 StandardShardingAlgorithm,用于处理使用单一键作为分片键的 =、IN、BETWEEN AND、>、<、>=、 行解析,与解析其他编程语言(如:Java 语言、C 语言、Go 语言等)并无本质区别。 抽象语法树 解析过程分为词法解析和语法解析。词法解析器用于将 SQL 拆解为不可再分的原子符号,称为 Token。并 根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。再使用语法解析器 将词法解析器的输出转换为抽象语法树。 例如,以下 SQL: SELECT id, name FROM t_user 22 Apache ShardingSphere document, v5.0.0-beta 解析之后的为抽象语法树见下图。 为了便于理解,抽象语法树中的关键字的 Token 用绿色表示,变量的 Token 用红色表示,灰色表示需要 进一步拆分。 最后,通过 visitor 对抽象语法树遍历构造域模型,通过域模型(SQLStatement)去提炼分片所需的 上下文,并标记有可能需要改写的0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha分片。分片算法需要应用方开 发者自行实现,可实现的灵活度非常高。 目前提供 3 种分片算法。由于分片算法和业务实现紧密相关,因此并未提供内置分片算法,而是通过分 片策略将各种场景提炼出来,提供更高层级的抽象,并提供接口让应用开发者自行实现分片算法。 • 标准分片算法 对应 StandardShardingAlgorithm,用于处理使用单一键作为分片键的 =、IN、BETWEEN AND、>、<、>=、 行解析,与解析其他编程语言(如:Java 语言、C 语言、Go 语言等)并无本质区别。 抽象语法树 解析过程分为词法解析和语法解析。词法解析器用于将 SQL 拆解为不可再分的原子符号,称为 Token。并 根据不同数据库方言所提供的字典,将其归类为关键字,表达式,字面量和操作符。再使用语法解析器 将词法解析器的输出转换为抽象语法树。 例如,以下 SQL: SELECT id, name FROM t_user 22 Apache ShardingSphere document, v5.0.0-beta 解析之后的为抽象语法树见下图。 为了便于理解,抽象语法树中的关键字的 Token 用绿色表示,变量的 Token 用红色表示,灰色表示需要 进一步拆分。 最后,通过 visitor 对抽象语法树遍历构造域模型,通过域模型(SQLStatement)去提炼分片所需的 上下文,并标记有可能需要改写的0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2238 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 SQL 解析引擎 . . . v5.1.2 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2238 7.2.7 解析引擎 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 抽象语法树 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 238 SQL 解析引擎 . . . v5.1.2 3.4.4 实现 Apache ShardingSphere 的可插拔架构划分为 3 层,它们是:L1 内核层、L2 功能层、L3 生态层。 L1 内核层 是数据库基本能力的抽象,其所有组件均必须存在,但具体实现方式可通过可插拔的方式更换。主要包 括查询优化器、分布式事务引擎、分布式执行引擎、权限引擎和调度引擎等。 3.4. 可插拔架构 16 Apache ShardingSphere Apache ShardingSphere 数据库兼容度希望达成的主 要目标。 4.1.4 SQL 解析 SQL 是使用者与数据库交流的标准语言。SQL 解析引擎负责将 SQL 字符串解析为抽象语法树,供 Apache ShardingSphere 理解并实现其增量功能。 目前支持 MySQL, PostgreSQL, SQLServer, Oracle, openGauss 以及符合0 码力 | 446 页 | 4.67 MB | 1 年前3
共 9 条
- 1













