Apache ShardingSphere 中文文档 5.0.0-alpha简介 1.1.1 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring ShardingSphere 对 SQL 零侵入的实现方式。 若 SQL 语句中没有分片条件,则无法进行分片,需要全路由。 在一些应用场景中,分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指 定分片结果的方式,在 Apache ShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向 解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如 OR 等。 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.00 1.1.1 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring 的第一个产品,也是 Apache ShardingSphere 的前身。 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring ShardingSphere 对 SQL 零侵入的实现方式。 若 SQL 语句中没有分片条件,则无法进行分片,需要全路由。 在一些应用场景中,分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指 定分片结果的方式,在 Apache ShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.11 1.1.1 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring 的第一个产品,也是 Apache ShardingSphere 的前身。 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring ShardingSphere 对 SQL 零侵入的实现方式。 若 SQL 语句中没有分片条件,则无法进行分片,需要全路由。 在一些应用场景中,分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指 定分片结果的方式,在 Apache ShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.00 1.1.1 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring 的第一个产品,也是 Apache ShardingSphere 的前身。 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring ShardingSphere 对 SQL 零侵入的实现方式。 若 SQL 语句中没有分片条件,则无法进行分片,需要全路由。 在一些应用场景中,分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指 定分片结果的方式,在 Apache ShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.22 1.1.1 ShardingSphere-JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring 的第一个产品,也是 Apache ShardingSphere 的前身。 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连数据库,以 jar 包形式 提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring ShardingSphere 对 SQL 零侵入的实现方式。 若 SQL 语句中没有分片条件,则无法进行分片,需要全路由。 在一些应用场景中,分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指 定分片结果的方式,在 Apache ShardingSphere 中叫做 Hint。 实现机制 Apache ShardingSphere 使用 ThreadLocal 管理分片键值。可以通过编程的方式向0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档ShardingSphere-JDBC 独立部署 ShardingSphere‐JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连 数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 管理分片键值进行强制路由。可以通过编程的方式向 Hint‐ Manager 中添加分片值,该分片值仅在当前线程内生效。 Hint 的主要使用场景:‐ 分片字段不存在 SQL 和数据库表结构中,而存在于外部业务逻辑。‐ 强制在指定 数据库进行某些数据操作。 操作步骤 1. 调用 HintManager.getInstance() 获取 HintManager 实例; 2. 调用 HintManager0 码力 | 557 页 | 4.61 MB | 1 年前3
01 Sharding JDBC概览ShardingSphere构成: 1.2 认识Sharding-JDBC 定位为轻量级Java框架,在Java的JDBC层提供的额外服务。 它使用客户端直连数据库,以jar包 形式提供服务,无需额外部署和依赖,可理解为增强版的JDBC驱动,完全兼容JDBC和各种 ORM框架。 适用于任何基于Java的ORM框架,如:JPA, Hibernate, Mybatis, Spring JDBC Template或 分为词法解析和语法解析。 先通过词法解析器将SQL拆分为一个个不可再分的单词。再使用语 法解析器对SQL进行理解,并最终提炼出解析上下文。 解析上下文包括表、选择项、排序项、 分组项、聚合函数、分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如OR等。 SQL路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。0 码力 | 6 页 | 781.70 KB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0ShardingSphere-JDBC 独立部署 ShardingSphere‐JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连 数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 3.2 分布式事务 3.2.1 背景 数据库事务需要满足 ACID(原子性、一致性、隔离性、持久性)四个特性。 • 原子性(Atomic 中添加分片值,该分片值仅在当前线程内生效。Apache ShardingSphere 还可以通过 SQL 中增 加注释的方式进行强制路由。 Hint 的主要使用场景:‐ 分片字段不存在 SQL 和数据库表结构中,而存在于外部业务逻辑。‐ 强制在指定 数据库进行某些数据操作。 操作步骤 1. 调用 HintManager.getInstance() 获取 HintManager 实例; 2. 调用 HintManager0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1ShardingSphere-JDBC 独立部署 ShardingSphere‐JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连 数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 管理分片键值进行强制路由。可以通过编程的方式向 Hint‐ Manager 中添加分片值,该分片值仅在当前线程内生效。 Hint 的主要使用场景:‐ 分片字段不存在 SQL 和数据库表结构中,而存在于外部业务逻辑。‐ 强制在指定 数据库进行某些数据操作。 操作步骤 1. 调用 HintManager.getInstance() 获取 HintManager 实例; 2. 调用 HintManager0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2ShardingSphere-JDBC 独立部署 ShardingSphere‐JDBC 定位为轻量级 Java 框架,在 Java 的 JDBC 层提供的额外服务。它使用客户端直连 数据库,以 jar 包形式提供服务,无需额外部署和依赖,可理解为增强版的 JDBC 驱动,完全兼容 JDBC 和各种 ORM 框架。 • 适用于任何基于 JDBC 的 ORM 框架,如:JPA, Hibernate, Mybatis, Spring tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 管理分片键值进行强制路由。可以通过编程的方式向 Hint‐ Manager 中添加分片值,该分片值仅在当前线程内生效。 Hint 的主要使用场景:‐ 分片字段不存在 SQL 和数据库表结构中,而存在于外部业务逻辑。‐ 强制在指定 数据库进行某些数据操作。 操作步骤 1. 调用 HintManager.getInstance() 获取 HintManager 实例; 2. 调用 HintManager0 码力 | 508 页 | 4.44 MB | 1 年前3
共 16 条
- 1
- 2













