Mycat垂直拆分

第四章垂直拆分——分库

一个数据库由很多表的构成,每个表对应着不同的业务,垂直切分是指按照业务将表进行分类, 分布到不同 的数据库上面,这样也就将数据或者说压力分担到不同的库上面,如下图:
在这里插入图片描述

1.在两个mysql服务器中分别创建两个库orders

create database orders;
use orders;

2.在主库上创建

#订单表 rows:600万 
CREATE TABLE orders( 
id INT AUTO_INCREMENT, 
order_type INT, 
customer_id INT, 
amount DECIMAL(10,2), 
PRIMARY KEY(id) 
);
#订单详细表 rows:600万 
CREATE TABLE orders_detail( 
id INT AUTO_INCREMENT, 
detail VARCHAR(2000), 
order_id INT, 
PRIMARY KEY(id) 
); 
#订单状态字典表 rows:20 
CREATE TABLE dict_order_type( 
id INT AUTO_INCREMENT, 
order_type VARCHAR(200), 
PRIMARY KEY(id) 
);

3.在分库上创建表

#客户表 rows:20万 
CREATE TABLE customer( 
id INT AUTO_INCREMENT, 
NAME VARCHAR(200), 
PRIMARY KEY(id) 
); 

4.修改schule.xml文件

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"> 
         <table name="customer" dataNode="dn2" />
        </schema>
        <dataNode name="dn1" dataHost="localhost1" database="orders" />
        <dataNode name="dn2" dataHost="localhost2" database="orders" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="hostM1" url="192.168.119.131:3306" user="root"
                                   password="789123">
                </writeHost>
       </dataHost>
         <dataHost name="localhost2" maxCon="1000" minCon="10" balance="0"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="hostM2" url="192.168.119.132:3306" user="root"
                                   password="789123">
                </writeHost>

        </dataHost>
</mycat:schema>

5.启动mycat即可,查看一下就是四张表

①./mycat start

②.mysql -umycat -p -h 192.168.119.131 -P8066

③.use TESTDB;

④.show tables;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z J X

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值