Mycat 分片规则踩坑备忘

25 篇文章 0 订阅

分片规则

Mycat 针对数据分表提供了一些编写好的分片规则,在这个博客中,将会把也用到的几个分片规则进行阐述说明。
分片规则在Mycat 配置文件的rule.xml配置文件中

按id求模分片

mod-long
这个分片规则比较好理解,其实就是针对分片关键字段取余,然后进行分片。需要注意的是,分片关键字段必须是整数类型。如果不是整数类型,在插入数据库时就会有无法插入数据的异常。
主键的话有可能会发生重复,因为每一个实体表其实都是在物理节点的数据库中,所以主键的约束会失效,需要自己做分布式主键管理。

按月分片

sharing-by-month
这个分片规则也很好理解,就是按照数据的插入时间或者某个时间关键字段按月进行分片。该分片规则需要有12个数据节点,不然在插入时会提示索引不存在的错误。

<function name="partbymonth"
		class="io.mycat.route.function.PartitionByMonth">
		<property name="dateFormat">yyyy-MM-dd</property>
		<property name="sBeginDate">2019-01-01</property>
</function>

sBeginDate 这个值是开始日期,每一年从1月1日开始的话,就需要12个dataNode,例如该值是2018-01-01,那么插入2019-01-01,就需要配置第13个dataNode。
那么每年都需要提前创建好dataNode,然后重启mycat,这个运维需要注意。

按非整型关键字均分

sharing-by-murmur
这个分片规则是按照非整型关键字进行分片。适合于uuid ,md5 这种类型的分片字段。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值