java1234开源博客系统
博客信息

mycat水平分表原则

发布时间:『 2020-04-02 21:16』  博客类别:Mycat  阅读(2097) 评论(0)

mycat水平分表原则


具体怎么个水平分表法,我们最终目标是要根据具体业务把单表的请求负载均衡的分散到多库中。

不能出现大量的请求集中1,2个分表;

比如订单表,我们划分的时候,不能根据id来划分,因为平时请求查询的时候一般是根据某个用户id去查询用户的订单信息的。

所以我们这个订单表的划分原则是根据用户id 取模划分,这样的话,请求能均衡的分布到多个分表,以及 查询的时候 大部分情况都是一个分表查询,效率会高一些;

 

 

MYCAT常用的分片规则如下:

(1)分片枚举:   sharding-by-intfile

(2)主键范围约定:  auto-sharding-long    此分片适用于,提前规划好分片字段某个范围属于哪个分片

(3)一致性hash:  sharding-by-murmur

(4)字符串hash解析: sharding-by-stringhash

(5)按日期(天)分片:sharding-by-date

(6)按单月小时拆分:  sharding-by-hour

(7)自然月分片:  sharding-by-month

(8)取模:  mod-long  此规则为对分片字段求摸运算

(9)取模范围约束:  sharding-by-pattern 此种规则是取模运算与范围约束的结合,主要为了后续数据迁移做准备,即可以自主决定取模后数据的节点分布


关键字:   无
关注Java1234微信公众号
博主信息
Java1234_小锋
(知识改变命运,技术改变世界)
Powered by Java1234 V3.0 Copyright © 2012-2016 Java知识分享网 版权所有