分片
分片算法
精确分片算法
范围分片算法
复合分片算法
Hint分片算法
分片策略
标准分片策略
复合分片策略
行表达式分片策略
Hint分片策略
不分片策略
行表达式:
Groovy 的语法
内置的主键生成器:
UUID
SNOWFLAKE
强制分片路由
分片条件并不存在于 SQL,而存在于外部业务逻辑。因此需要提供一种通过外部指定分片结果的方式,在Apache ShardingSphere中叫做 Hint。
由SQL解析 => 执行器优化 => SQL路由 => SQL改写 => SQL执行 => 结果归并的流程组成。
问题:
join操作 分页操作 limit 1000,10 分页子查询
支持项
路由至单数据节点
路由至多数据节点
不支持项
路由至多数据节点
对分片键进行操作
示例
支持的SQL
不支持的SQL
DISTINCT支持情况详细说明
支持的SQL
不支持的SQL
PostgreSQL解析器
MySQL解析器
Oracle解析器
SQLServer解析器
分布式事务
XA两阶段事务
SEATA 柔性事务
主库
从库
主从同步
负载均衡策略
分布式治理
治理
配置中心
注册中心
元数据中心
第三方组件依赖
可观察性
应用性能监控集成
度量指标监控
集群管理
心跳检测
集群状态拓扑
单个集群节点的测试不能满足性能测试
Apache ShardingSphere 关注于全链路压测场景下,数据库层面的解决方案。 基于内核的 SQL 解析能力,以及可插拔平台架构,实现压测数据与生产数据的隔离,帮助应用自动路由,支持全链路压测,是 Apache ShardingSphere 影子数据库模块的主要设计目标。
ShardingSphere-JDBC
配置数据源
配置 表规则
配置分库策略
配置分库算法
配置分表策略
配置分表算法
分片规则
// 创建 ShardingSphere
DataSourceDataSource dataSource = ShardingSphereDataSourceFactory.createDataSource(dataSourceMap, Collections.singleton((shardingRuleConfig), new Properties());
网友评论