Apache ShardingSphere 中文文档 5.0.0实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 4.2. 数据分片 24 Apache ShardingSphere document, v5.0.0 自定义分片算法 提供接口让应用开发者自行实现与 tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 分页性能 说明 sharding‐count int 分片数量 5.1. ShardingSphere-JDBC 152 Apache ShardingSphere document, v5.0.0 哈希取模分片算法 类型:HASH_MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 基于分片容量的范围分片算法 类型:VOLUME_RANGE0 码力 | 385 页 | 4.26 MB | 1 年前3
Apache ShardingSphere 中文文档 5.0.0-alpha解析 分为词法解析和语法解析。先通过词法解析器将 SQL 拆分为一个个不可再分的单词。再使用语法解析器 对 SQL 进行理解,并最终提炼出解析上下文。解析上下文包括表、选择项、排序项、分组项、聚合函数、 分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如 OR 等。 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 (分片 键的操作符是 BETWEEN)。不携带分片键的 SQL 则采用广播路由。 分片策略通常可以采用由数据库内置或由用户方配置。数据库内置的方案较为简单,内置的分片策略大 致可分为尾数取模、哈希、范围、标签、时间等。由用户方配置的分片策略则更加灵活,可以根据使用方 需求定制复合分片策略。如果配合数据自动迁移来使用,可以做到无需用户关注分片策略,自动由数据 库中间层分片和平衡数据即可,进 满足直接路由的条件相对苛刻,它需要通过 Hint(使用 HintAPI 直接指定路由至库表)方式分片,并且 是只分库不分表的前提下,则可以避免 SQL 解析和之后的结果归并。因此它的兼容性最好,可以执行包 括子查询、自定义函数等复杂情况的任意 SQL。直接路由还可以用于分片键不在 SQL 中的场景。例如,设 置用于数据库分片的键为 3, hintManager.setDatabaseShardingValue(3);0 码力 | 301 页 | 3.44 MB | 1 年前3
Apache ShardingSphere v5.5.0 中文文档实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 自定义分片算法 提供接口让应用开发者自行实现与业务实现紧密相关的分片算法,并允许使用者自行管理真实表的物理 分布。自定义分片算法又分为: • 标准分片算法 tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 commit() 和 rollback() 方法,这是被允许的。 2. 在函数上使用 Jakarta EE 8 的 javax.transaction.Transactional 注解,这是被允许的。 9.1. ShardingSphere-JDBC 130 Apache ShardingSphere document 3. 在函数上使用 Jakarta EE 9/10 的 jakarta.transaction0 码力 | 557 页 | 4.61 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.1实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 4.3. 数据分片 29 Apache ShardingSphere document, v5.1.1 自定义分片算法 提供接口让应用开发者自行实现与 tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 connectionTimeout long 连接超时秒数 30 分片算法 自动分片算法 取模分片算法 类型:MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 哈希取模分片算法 类型:HASH_MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 5.1. ShardingSphere-JDBC 116 Apache0 码力 | 409 页 | 4.47 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.0实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 4.3. 数据分片 29 Apache ShardingSphere document, v5.1.0 自定义分片算法 提供接口让应用开发者自行实现与 tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 connectionTimeout long 连接超时秒数 30 分片算法 自动分片算法 取模分片算法 类型:MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 哈希取模分片算法 类型:HASH_MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 5.1. ShardingSphere-JDBC 115 Apache0 码力 | 406 页 | 4.40 MB | 1 年前3
Apache ShardingSphere 中文文档 5.2.0实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 自定义分片算法 提供接口让应用开发者自行实现与业务实现紧密相关的分片算法,并允许使用者自行管理真实表的物理 分布。自定义分片算法又分为: • 标准分片算法 tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 3.2 分布式事务 3.2.1 背景 数据库事务需要满足 ACID(原子性、一致性、隔离性、持久性)四个特性。 • 原子性(Atomic conf 和 registry.conf 文件。 4.1.6 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement0 码力 | 449 页 | 5.85 MB | 1 年前3
Apache ShardingSphere 中文文档 5.4.1实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 自定义分片算法 提供接口让应用开发者自行实现与业务实现紧密相关的分片算法,并允许使用者自行管理真实表的物理 分布。自定义分片算法又分为: • 标准分片算法 tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 进行检索,并安装到 ShardingSphere 中。 9.1.5 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement0 码力 | 530 页 | 4.49 MB | 1 年前3
Apache ShardingSphere 中文文档 5.3.2实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 自定义分片算法 提供接口让应用开发者自行实现与业务实现紧密相关的分片算法,并允许使用者自行管理真实表的物理 分布。自定义分片算法又分为: • 标准分片算法 tbl_name WHERE col3 = ?(SELECT 子 句不支持 * 和内置分布式主键生成器) • SELECT MAX(tbl_name.col1) FROM tbl_name(查询列是函数表达式时,查询列前不能使用表名, 可以使用表别名) 其他: • 分片规则中配置的真实表、分片列和分布式序列需要和数据库中的列保持大小写一致。 8.2 分布式事务 8.2.1 背景 数据库事务需要满足 ider, 使用 JooQ 的 SQL 翻译器 9.1.5 不支持项 DataSource 接口 • 不支持 timeout 相关操作。 Connection 接口 • 不支持存储过程,函数,游标的操作; • 不支持执行 native SQL; • 不支持 savepoint 相关操作; • 不支持 Schema/Catalog 的操作; • 不支持自定义类型映射。 Statement0 码力 | 508 页 | 4.44 MB | 1 年前3
Apache ShardingSphere 中文文档 5.1.2实现,也可使用 Apache ShardingSphere 内置的分片算法语法糖,灵活度非常高。 自动化分片算法 分片算法语法糖,用于便捷的托管所有数据节点,使用者无需关注真实表的物理分布。包括取模、哈希、 范围、时间等常用分片算法的实现。 4.3. 数据分片 29 Apache ShardingSphere document, v5.1.2 自定义分片算法 提供接口让应用开发者自行实现与 tbl_name WHERE col3 = ? SELECT 子句不支持 * 和内置分 布式主键生成器 无 SELECT MAX(tbl_name.col1) FROM tbl_name 查询列是函数表达式时,查询列 前不能使用表名 使用表 别名 分页 完全支持 MySQL、PostgreSQL 和 Oracle 的分页查询,SQLServer 由于分页查询较为复杂,仅部分支持。 4 ShardingSphere document, v5.1.2 分片算法 自动分片算法 取模分片算法 类型:MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 哈希取模分片算法 类型:HASH_MOD 可配置属性: 属性名称 数据类型 说明 sharding‐count int 分片数量 基于分片容量的范围分片算法 类型:VOLUME_RANGE0 码力 | 446 页 | 4.67 MB | 1 年前3
Apache ShardingSphere ElasticJob 中文文档 2023 年 11 月 01 日奇偶分片策略 类型:ODEVITY 根据作业名称哈希值的奇偶数决定按照作业服务器 IP 升序或是降序的方式分片。 如果作业名称哈希值是偶数,则按照 IP 地址进行升序分片;如果作业名称哈希值是奇数,则按照 IP 地址 进行降序分片。可用于让服务器负载在多个作业共同运行时分配的更加均匀。 举例说明:1. 如果 3 台作业服务器,分片总数为 2 且作业名称的哈希值为偶数,则分片结果为:1 = [0], 2 2 = [1], 3 = [];2. 如果 3 台作业服务器,分片总数为 2 且作业名称的哈希值为奇数,则分片结果为:3 = [0], 2 = [1], 1 = []。 轮询分片策略 类型:ROUND_ROBIN 根据作业名称轮询分片。 线程池策略 CPU 资源策略 类型:CPU 根据 CPU 核数 * 2 创建作业处理线程池。 单线程策略 类型:SINGLE_THREAD AverageAlloca tionJobShard‐ ingStrategy 根据分片项平均分片 OdevitySortBy NameJobShard‐ ingStrategy 根据作业名称哈希值的奇偶数决定按照作业服务器 IP 升序或是 降序的方式分片 RotateServerBy NameJobShard‐ ingStrategy 根据作业名称轮询分片 78 Apache ShardingSphere0 码力 | 98 页 | 1.97 MB | 1 年前3
共 14 条
- 1
- 2













