 Apache ShardingSphere 中文文档 5.0.0-alpha的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。故绑定表之间的 分区键要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全一致。适用于数据量不 大且需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中只存在唯一 分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如 OR 等。 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 SQL 改写 将 SQL 改写为在真实数据库中可以正确执行的语句。SQL 改写分为正确性改写和优化改写。 SQL 执行 通过多线程执行器异步执行。 结果归并 将多个执行结果集归并以便于通过统一的 SQL,根据分片键的 不同可以划分为单片路由 (分片键的操作符是等号)、多片路由 (分片键的操作符是 IN) 和范围路由 (分片 键的操作符是 BETWEEN)。不携带分片键的 SQL 则采用广播路由。 分片策略通常可以采用由数据库内置或由用户方配置。数据库内置的方案较为简单,内置的分片策略大 致可分为尾数取模、哈希、范围、标签、时间等。由用户方配置的分片策略则更加灵活,可以根据使用方0 码力 | 301 页 | 3.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0-alpha的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。故绑定表之间的 分区键要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构和表中的数据在每个数据库中均完全一致。适用于数据量不 大且需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中只存在唯一 分页信息、查询条件以及可能需要修改的占位符的标记。 执行器优化 合并和优化分片条件,如 OR 等。 SQL 路由 根据解析上下文匹配用户配置的分片策略,并生成路由路径。目前支持分片路由和广播路由。 SQL 改写 将 SQL 改写为在真实数据库中可以正确执行的语句。SQL 改写分为正确性改写和优化改写。 SQL 执行 通过多线程执行器异步执行。 结果归并 将多个执行结果集归并以便于通过统一的 SQL,根据分片键的 不同可以划分为单片路由 (分片键的操作符是等号)、多片路由 (分片键的操作符是 IN) 和范围路由 (分片 键的操作符是 BETWEEN)。不携带分片键的 SQL 则采用广播路由。 分片策略通常可以采用由数据库内置或由用户方配置。数据库内置的方案较为简单,内置的分片策略大 致可分为尾数取模、哈希、范围、标签、时间等。由用户方配置的分片策略则更加灵活,可以根据使用方0 码力 | 301 页 | 3.44 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.0.0. . 230 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 7.1.9 改写引擎 的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。因此,绑定表间 的分区键需要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 WHEN 语句不支持: • CASE WHEN 中包含子查询 • CASE WHEN 中使用逻辑表名(请使用表别名) 以下 UNION 和 UNION ALL 语句不支持: • 包含分片表和广播表 4.2. 数据分片 33 Apache ShardingSphere document, v5.0.0 SQL 示例 稳定支持的 SQL 必要条件 SELECT * FROM tbl_name0 码力 | 385 页 | 4.26 MB | 1 年前3 Apache ShardingSphere 中文文档 5.0.0. . 230 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 230 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 7.1.9 改写引擎 的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。因此,绑定表间 的分区键需要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 WHEN 语句不支持: • CASE WHEN 中包含子查询 • CASE WHEN 中使用逻辑表名(请使用表别名) 以下 UNION 和 UNION ALL 语句不支持: • 包含分片表和广播表 4.2. 数据分片 33 Apache ShardingSphere document, v5.0.0 SQL 示例 稳定支持的 SQL 必要条件 SELECT * FROM tbl_name0 码力 | 385 页 | 4.26 MB | 1 年前3
 Apache ShardingSphere v5.5.0 中文文档. . 493 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 12.4.9 改写引擎 document actualDataNodes: ds_${0..1}.t_order_item_${0..1} bindingTables: - t_order, t_order_item 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 557 页 | 4.61 MB | 1 年前3 Apache ShardingSphere v5.5.0 中文文档. . 493 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 493 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 495 12.4.9 改写引擎 document actualDataNodes: ds_${0..1}.t_order_item_${0..1} bindingTables: - t_order, t_order_item 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 557 页 | 4.61 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.0. . 227 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 7.2.9 改写引擎 的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。因此,绑定表间 的分区键需要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 406 页 | 4.40 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.0. . 227 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 227 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 229 7.2.9 改写引擎 的最左侧,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计算将 会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。因此,绑定表间 的分区键需要完全相同。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 406 页 | 4.40 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.1. . 232 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.2.9 改写引擎 表由于指定了分片条件,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 409 页 | 4.47 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.1. . 232 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234 7.2.9 改写引擎 表由于指定了分片条件,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 409 页 | 4.47 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.1.2. . 243 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2.9 改写引擎 表由于指定了分片条件,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 446 页 | 4.67 MB | 1 年前3 Apache ShardingSphere 中文文档 5.1.2. . 243 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245 7.2.9 改写引擎 表由于指定了分片条件,ShardingSphere 将会以它作为整个绑定表的主表。所有路由计 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 act ualDat aNodes (?) String 由数据源名 + 表名组成, 以小数点分隔。多个表 以逗号分隔,支持行表 达式 使用已知数据源与逻辑 表名称生成数据节点, 用于广播表或只分库不 分表且所有库的表结构 完全一致的情况 databa seShar dingSt rategy (?) S harding Strateg yConfig uration 分库策略0 码力 | 446 页 | 4.67 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.4.1. . 467 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 12.4.9 改写引擎 t_order_item: actualDataNodes: ds_${0..1}.t_order_item_${0..1} 8.1. 数据分片 22 Apache ShardingSphere document 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 530 页 | 4.49 MB | 1 年前3 Apache ShardingSphere 中文文档 5.4.1. . 467 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 467 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 469 12.4.9 改写引擎 t_order_item: actualDataNodes: ds_${0..1}.t_order_item_${0..1} 8.1. 数据分片 22 Apache ShardingSphere document 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 530 页 | 4.49 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.2.0. . 337 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 xi 7.4.9 改写引擎 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 3.1. 数据分片 18 Apache ShardingSphere document, v5.2.0 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 ...> 4.1. ShardingSphere-JDBC 54 Apache ShardingSphere document, v5.2.0 broadcastTables (+): # 广播表规则列表 - Apache ShardingSphere 中文文档 5.2.0. . 337 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 337 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 339 xi 7.4.9 改写引擎 算将会只使用主表的策略,那么 t_order_item 表的分片计算将会使用 t_order 的条件。 3.1. 数据分片 18 Apache ShardingSphere document, v5.2.0 广播表 指所有的分片数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且 需要与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 ...> 4.1. ShardingSphere-JDBC 54 Apache ShardingSphere document, v5.2.0 broadcastTables (+): # 广播表规则列表 -- - - defaultDatabaseStrategy: # 默认数据库分片策略 defaultTableStrategy: # 0 码力 | 449 页 | 5.85 MB | 1 年前3
 Apache ShardingSphere 中文文档 5.3.2. . 446 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 12.4.9 改写引擎 t_order_item: actualDataNodes: ds_${0..1}.t_order_item_${0..1} 8.1. 数据分片 22 Apache ShardingSphere document 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 508 页 | 4.44 MB | 1 年前3 Apache ShardingSphere 中文文档 5.3.2. . 446 分片路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446 广播路由 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 12.4.9 改写引擎 t_order_item: actualDataNodes: ds_${0..1}.t_order_item_${0..1} 8.1. 数据分片 22 Apache ShardingSphere document 广播表 指所有的数据源中都存在的表,表结构及其数据在每个数据库中均完全一致。适用于数据量不大且需要 与海量数据的表进行关联查询的场景,例如:字典表。 单表 指所有的分片数据源中仅唯一存在的表。适用于数据量不大且无需分片的表。 to_date(create_time, 'yyyy-mm-dd') = '2019-01-01'; LOAD DATA / LOAD XML 支持 MySQL LOAD DATA 和 LOAD XML 语句加载数据到单表和广播表。 实验性支持 实验性支持特指使用 Federation 执行引擎提供支持。该引擎处于快速开发中,用户虽基本可用,但仍需 大量优化,是实验性产品。 子查询 子查询和外层查询未同时指定分片键,或分片键的值不一致时,由0 码力 | 508 页 | 4.44 MB | 1 年前3
 2. Clickhouse玩转每天千亿数据-趣头条我们遇到的问题 order by (timestamp, eventType) or order by (eventType, timestamp) 业务场景 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt='' ernal_group_by 2:max_bytes_before_external_sort 3:uniq / uniqCombined / uniqHLL12 4:Join时小表放到右边,“右表广播” ^v^ 我们遇到的问题 zookeeper相关的问题 问题一:zookeeper的snapshot文件太大,follower从leader同步文件时超时 问题二:zookeeper压力太0 码力 | 14 页 | 1.10 MB | 1 年前3 2. Clickhouse玩转每天千亿数据-趣头条我们遇到的问题 order by (timestamp, eventType) or order by (eventType, timestamp) 业务场景 1:趣头条和米读的上报数据是按照”事件类型”(eventType)进行区分 2:指标系统分”分时”和”累时”指标 3:指标的一般都是会按照eventType进行区分 select count(1) from table where dt='' ernal_group_by 2:max_bytes_before_external_sort 3:uniq / uniqCombined / uniqHLL12 4:Join时小表放到右边,“右表广播” ^v^ 我们遇到的问题 zookeeper相关的问题 问题一:zookeeper的snapshot文件太大,follower从leader同步文件时超时 问题二:zookeeper压力太0 码力 | 14 页 | 1.10 MB | 1 年前3
共 43 条
- 1
- 2
- 3
- 4
- 5













