本篇内容介绍了“mycat范围分库和Hash分库怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
2.1、范围分库
所谓的范围分库指的是可以根据你的id的范围进行不同数据库的保存,或者
是根据你的数据库的数据大小来进行保存进行的一种处理机制。
1、【mycat-server-01】定义一个新的分片规则:vim/usr/local/mycat/conf/rule.xml;
设置该分片处理所使用的算法:
此时需要设置一个分片的规则文件:orders-partition-long.txt。
2、【mycat-server-01】编写具体的分片规则:vim/usr/local/mycat/conf/orders-partition-long.txt
3、【mycat-server-01】更换分片规则:vim/usr/local/mycat/conf/schema.xml;
<tablename="orders"primaryKey="oid"dataNode="dn1,dn2,dn3"rule="myorders-auto-sharding-long"/>
那么随后启动mycat服务:/usr/local/mycat/bin/mycatconsole;追加数据:INSERTINTOorders(oid,title,pubdate)VALUES(11,@@hostname,'2020-01-01');这个时候将根据订单的编号来选择不同的分片进行数据的存储
2.2、Hash分库
Hash分库可以实现根据不同的编号保存到不同的数据库的操作,例如:假设说现在要求按照所在的地区进行分库的保存,这种情况就称为hash分库处理。
1、【mycat-server-01】设置一个新的分片规则:vim/usr/local/mycat/conf/rule.xml;
·增加新的分片项:此时title的可选内容一定是固定的;
·增加相应的算法配置:
对于hash分片需要设置它一个分片的数据类型:
·type=0:表示数字型分片;
·type=1:描述的是字符串分片。
·建立hash分片原则配置文件:
vim/usr/local/mycat/conf/myorders-partition-hash-int.txt
那么此时title可以设置的内容就只有以上的几点了。
2、【mycat-server-01】配置mycat分片规则:vim/usr/local/mycat/conf/schema.xml;
<tablename="orders"primaryKey="oid"dataNode="dn1,dn2,dn3"rule="myorders-by-intfile"/>
3、【mycat-server-01】启动mycat服务:/usr/local/mycat/bin/mycatconsole;
允许你追加的title的内容是有限的。
INSERTINTOorders(oid,title,pubdate)VALUES(13,'sh','2020-01-01');
一般而言如果要想实现Hash的分片处理,往往需要有一些固定的数据信息出现,例如:按照省份分片,按照城市分片。
“mycat范围分库和Hash分库怎么实现”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。