欢迎来到天天文库
浏览记录
ID:41776496
大小:224.27 KB
页数:13页
时间:2019-09-02
《mycat分片规则_计算机软件及应用_IT计算机_专业资料》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、mycat分片规则常用的根据主键或非主键的分片规则配置:1.枚举法:通过在配置文件屮配置可能的枚举id,自己配置分片,使用规则:user_idhash-int2、opertyname^^mapFile/z>partition-hash-int.txt00partition—hash—int・txt酉己置:10000=010010=1DEFAULT_NODE=1上面columns标识将要分片的表字段,algorithm分片函数,其中分片函数配置中,mapFile标识配置文件名称,type默认值为0,0表示Inte3、ger,非零表示String,所有的节点配置都是从0开始,及0代表节点1/***defaultNode默认节点:小于0表示不设置默认节点,大于等于0表示设置默认节点*默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路rh到默认节点*如果不配置默认节点(defaultNode值小于0表示不配置默认节点),碰到*不识别的枚举值就会报错,*likethis:can'tfinddatanodeforshardingcolumn:columnnameval:ffffffff*/2.固定分片hash算法4、l/,>useridfuncl2,l配置说明:上面co5、lumns标识将要分片的表字段,algorithm分片函数,partitionCount分片个数列农,partitionLength分片范围列表分区长度:默认为最大2、二1024,即最大支持1024分区约束:count,length两个数组的长度必须是一致的。1024=sum((count[i]*length[i])).count和length两个向量的点积恒等于1024用法例子:本例的分区策略:希望将数据水平分成3份,前两份各占25%,第三份占50%。(故本例非均匀分区)//6、<1024>7、//<256—>8、〈256—>9、<512>//pa10、rtitionO11、partitionlpartition2//丨共2份,故count[0]=212、共1份,故count[1]=113、int[]count=newint[]{2,1};int[]length=newint[]{256,512};PartitionUtilpu=newPartitionUt订(count,length);//下而代码演示分别以offerId字段或memberId字段根据上述分区策略拆分的分配结果intDEFAULT_STRJIEAD_LEN二8;//cobar默认会配置为此值longofferld二12345;Stri14、ngmemberId="qiushuo";//若根据offerld分配,partNol将等于0,即按照上述分区策略,offerld为12345时将会被分配到partitionO中intpartNol=pu.partition(offerld);//若根据memberId分配,partNo2将等于2,即按照上述分区策略,memberld为qiushuo时将会被分至!Jpartition2中intpartNo2=pu.partition(memberld,0,DEFAULTSTRHEADLEN);如果需要平均分配设置:平均分为4分片,partit15、ionCount*partitionLength=1024
2、opertyname^^mapFile/z>partition-hash-int.txt00partition—hash—int・txt酉己置:10000=010010=1DEFAULT_NODE=1上面columns标识将要分片的表字段,algorithm分片函数,其中分片函数配置中,mapFile标识配置文件名称,type默认值为0,0表示Inte
3、ger,非零表示String,所有的节点配置都是从0开始,及0代表节点1/***defaultNode默认节点:小于0表示不设置默认节点,大于等于0表示设置默认节点*默认节点的作用:枚举分片时,如果碰到不识别的枚举值,就让它路rh到默认节点*如果不配置默认节点(defaultNode值小于0表示不配置默认节点),碰到*不识别的枚举值就会报错,*likethis:can'tfinddatanodeforshardingcolumn:columnnameval:ffffffff*/2.固定分片hash算法4、l/,>useridfuncl2,l配置说明:上面co5、lumns标识将要分片的表字段,algorithm分片函数,partitionCount分片个数列农,partitionLength分片范围列表分区长度:默认为最大2、二1024,即最大支持1024分区约束:count,length两个数组的长度必须是一致的。1024=sum((count[i]*length[i])).count和length两个向量的点积恒等于1024用法例子:本例的分区策略:希望将数据水平分成3份,前两份各占25%,第三份占50%。(故本例非均匀分区)//6、<1024>7、//<256—>8、〈256—>9、<512>//pa10、rtitionO11、partitionlpartition2//丨共2份,故count[0]=212、共1份,故count[1]=113、int[]count=newint[]{2,1};int[]length=newint[]{256,512};PartitionUtilpu=newPartitionUt订(count,length);//下而代码演示分别以offerId字段或memberId字段根据上述分区策略拆分的分配结果intDEFAULT_STRJIEAD_LEN二8;//cobar默认会配置为此值longofferld二12345;Stri14、ngmemberId="qiushuo";//若根据offerld分配,partNol将等于0,即按照上述分区策略,offerld为12345时将会被分配到partitionO中intpartNol=pu.partition(offerld);//若根据memberId分配,partNo2将等于2,即按照上述分区策略,memberld为qiushuo时将会被分至!Jpartition2中intpartNo2=pu.partition(memberld,0,DEFAULTSTRHEADLEN);如果需要平均分配设置:平均分为4分片,partit15、ionCount*partitionLength=1024
4、l/,>useridfuncl2,l配置说明:上面co
5、lumns标识将要分片的表字段,algorithm分片函数,partitionCount分片个数列农,partitionLength分片范围列表分区长度:默认为最大2、二1024,即最大支持1024分区约束:count,length两个数组的长度必须是一致的。1024=sum((count[i]*length[i])).count和length两个向量的点积恒等于1024用法例子:本例的分区策略:希望将数据水平分成3份,前两份各占25%,第三份占50%。(故本例非均匀分区)//
6、<1024>
7、//<256—>
8、〈256—>
9、<512>//pa
10、rtitionO
11、partitionlpartition2//丨共2份,故count[0]=2
12、共1份,故count[1]=1
13、int[]count=newint[]{2,1};int[]length=newint[]{256,512};PartitionUtilpu=newPartitionUt订(count,length);//下而代码演示分别以offerId字段或memberId字段根据上述分区策略拆分的分配结果intDEFAULT_STRJIEAD_LEN二8;//cobar默认会配置为此值longofferld二12345;Stri
14、ngmemberId="qiushuo";//若根据offerld分配,partNol将等于0,即按照上述分区策略,offerld为12345时将会被分配到partitionO中intpartNol=pu.partition(offerld);//若根据memberId分配,partNo2将等于2,即按照上述分区策略,memberld为qiushuo时将会被分至!Jpartition2中intpartNo2=pu.partition(memberld,0,DEFAULTSTRHEADLEN);如果需要平均分配设置:平均分为4分片,partit
15、ionCount*partitionLength=1024
此文档下载收益归作者所有