本篇内容介绍了“mycat怎么按月分库”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
2.4、按月分片
如果你现在一年的数据量都非常的大,或者是说你每一个月的数据量都非常庞大,那么此时最好的做法是进行按照不同的月分片。那么你应该准备出12个数据库来实现你的操作,可是不要忘记了,12个数据库还需要12个从数据库进行配置。
1、【mycat-server-01】修改分片规则文件:vim/usr/local/mycat/conf/rule.xml;
·定义一个分片规则:
·定义分片的使用算法:
2、【mycat-server-01】修改mycat的配置文件:vim/usr/local/mycat/conf/schema.xml
·mysql-server-01:1~4;
·mysql-server-02:5~8;
·mysql-server-03:9~12
3、【mycat-server-01】启动mycat服务:/usr/local/mycat/bin/mycatconsole
如果现在要是建立了12个主机,那么一定观察很给力。
2.5、ER模型分片(子表分片)
一般在进行购物系统建立的时候往往都会建立这样的一种机制:假设说,现在有一个订单,那么订单里面一定要对应有多个订单的详情信息,以详细的描述出用户所购买的全部商品。那么这个订单的详细信息的数据存储,那么这个订单详情的数据一定要对应有一个订单的数据信息,这个数据应该保存在订单记录同样的数据库里面。
1、【mysql-server-*】建立数据库脚本:
DROPDATABASEIFEXISTSmdb;CREATEDATABASEmdbCHARACTERSETUTF8;usemdb;
2、【mycat-server-01】修改mycat规则:vim/usr/local/mycat/conf/schema.xml;
3、【mycat-server-01】启动mycat服务:/usr/local/mycat/bin/mycatconsole;
4、【mysql-server-*】连接mycat进行测试
·追加订单数据:
INSERTINTOorders(oid,title,pubdate)VALUES(11,@@hostname,'2020-01-01');INSERTINTOorders(oid,title,pubdate)VALUES(12,@@hostname,'2020-01-01');
·追加订单详情:
INSERTINTOorders_details(odid,oid,gtitle,amount)VALUES(1001,11,'java',100);
此时orders_details作为子表会与父表保存在同一个数据库里面。
“mycat怎么按月分库”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。