ShardingSphere分库分表

一、分⽚算法

通过分⽚算法将数据分⽚,⽀持通过 =、>=、<=、>、<、BETWEEN 和 IN 分⽚。分⽚算法需要应⽤⽅开发者⾃⾏实现,可实现的灵活度⾮常⾼。
⽬前提供 4 种分⽚算法。由于分⽚算法和业务实现紧密相关,因此并未提供内置分⽚算法,而是通过分⽚策略将各种场景提炼出来,提供更⾼层级的抽象,并提供接口让应⽤开发者⾃⾏实现分⽚算法。

  • 标准分⽚算法
    对应 StandardShardingAlgorithm,⽤于处理使⽤单⼀键作为分⽚键的 =、IN、BETWEEN AND、>、<、>=、
    <= 进⾏分⽚的场景。需要配合 StandardShardingStrategy 使⽤。
  • 复合分⽚算法
    对应 ComplexKeysShardingAlgorithm,⽤于处理使⽤多键作为分⽚键进⾏分⽚的场景,包含多个分⽚键
    的逻辑较复杂,需要应⽤开发者⾃⾏处理其中的复杂度。需要配合 ComplexShardingStrategy 使⽤。
  • Hint 分⽚算法
    对应 HintShardingAlgorithm,⽤于处理使⽤ Hint ⾏分⽚的场景。需要配合 HintShardingStrategy 使⽤。

分⽚策略

包含分⽚键和分⽚算法,由于分⽚算法的独⽴性,将其独⽴抽离。真正可⽤于分⽚操作的是分⽚键 + 分⽚算法,也就是分⽚策略。⽬前提供 5 种分⽚策略。

  • 标准分⽚策略
    对应 StandardShardingStrategy。提供对 SQ L 语句中的 =, >, <, >=, <=, IN 和 BETWEEN AND 的分⽚操作⽀持。
    StandardShardingStrategy 只⽀持单分⽚键,提供 PreciseShardingAlgorithm 和 RangeShardingAlgorithm两个分⽚算法。PreciseShardingAlgorithm是必选的,⽤于处理=和IN的分⽚。RangeShardingAlgorithm 是可选的,⽤于处理 BETWEEN AND, >, <, >=, <= 分⽚,如果不配置 RangeShardingAlgorithm,SQL 中的 BETWEEN AND 将按照全库路由处理。
  • 复合分⽚策略
    对应 ComplexShardingStrategy。复合分⽚策略。提供对 SQL 语句中的 =, >, <, >=, <=, IN 和 BETWEEN AND 的分⽚操作⽀持。ComplexShardingStrategy ⽀持多分⽚键,由于多分⽚键之间的关系复杂,因此并未进⾏过多的封装,而是直接将分⽚键值组合以及分⽚操作符透传⾄分⽚算法,完全由应⽤开发者实现,提供最⼤的灵活度。
  • Hint 分⽚策略
    对应 HintShardingStrategy。通过 Hint 指定分⽚值而⾮从 SQL 中提取分⽚值的⽅式进⾏分⽚的策略。
  • 不分⽚策略
    对应 NoneShardingStrategy。不分⽚的策略。在这里插入图片描述
    在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值