mycat:水平分库之按月分库

Posted 纯洁的明依

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mycat:水平分库之按月分库相关的知识,希望对你有一定的参考价值。

2.4、按月分片

如果你现在一年的数据量都非常的大,或者是说你每一个月的数据量都非常庞大,那么此时最好的做法是进行按照不同的月分片。那么你应该准备出12个数据库来实现你的操作,可是不要忘记了,12个数据库还需要12个从数据库进行配置。

1、【mycat-server-01】修改分片规则文件:vim/usr/local/mycat/conf/rule.xml

·定义一个分片规则:

·定义分片的使用算法:

mycat:水平分库之按月分库

2、【mycat-server-01】修改mycat的配置文件:vim/usr/local/mycat/conf/schema.xml

·mysql-server-011~4

·mysql-server-025~8

·mysql-server-039~12

mycat:水平分库之按月分库

mycat:水平分库之按月分库

mycat:水平分库之按月分库

mycat:水平分库之按月分库

3、【mycat-server-01】启动mycat服务:/usr/local/mycat/bin/mycatconsole

如果现在要是建立了12个主机,那么一定观察很给力。


2.5ER模型分片(子表分片)

一般在进行购物系统建立的时候往往都会建立这样的一种机制:假设说,现在有一个订单,那么订单里面一定要对应有多个订单的详情信息,以详细的描述出用户所购买的全部商品。那么这个订单的详细信息的数据存储,那么这个订单详情的数据一定要对应有一个订单的数据信息,这个数据应该保存在订单记录同样的数据库里面。

1、【mysql-server-*】建立数据库脚本:

DROPDATABASEIFEXISTSmdb;CREATEDATABASEmdbCHARACTERSETUTF8;usemdb;


mycat:水平分库之按月分库

mycat:水平分库之按月分库

mycat:水平分库之按月分库

mycat:水平分库之按月分库

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作为子表会与父表保存在同一个数据库里面。


3、总结

Mycat是库表分离最好的设计理念实现。库表分离的理论价值很高,互联网公司都会使用它。








以上是关于mycat:水平分库之按月分库的主要内容,如果未能解决你的问题,请参考以下文章

Mycat+分库分表

《SQL与数据库基础》21. 分库分表

MyCat分库分表-练习

每期一个小窍门(003): mycat实现单库按月分表 (可以跨年)

每期一个小窍门(003): mycat实现单库按月分表 (可以跨年)

mycat-分库分表