分库分表-mycat

分库分表的意义

数据库优化方式

重启mysql、sql优化,表结构与存储引擎(对不同的的表,根据业务需求设置不同的存储引擎),数据库与应用架构(读写分离、主从配置),数据库与操作系统的配置;

数据量,数据增长,数据访问频率,决定了数据库优化方式?那什么程度的数据量、多大的数据增长量,什么频率的数据访问是作为衡量标准了;

根据阿里巴巴

分库分表的方式有四种,它们分别是:垂直分表、垂直分库、水平分库和水平分表。

垂直分表

避免不同业务访问同一张表。
比如:假设有个小型电商业务,把一个订单相关的商品信息、买卖家信息、支付信息都放在一张大表里。可以考虑通过垂直切分的方式,把商品信息、买家信息、卖家信息、支付信息都单独拆分成独立的表,并通过订单号跟订单基本信息关联起来;

垂直分库

在垂直分表的基础上,不同的业务还是会访问同一个数据库,qps访问频率可能还是会高。垂直分库能避免不同业务访问同一个数据库。

水平分表

水平分表就是指以行为单位对数据进行拆分,一般意义上的分库分表指的就是水平分表。
一般可以有范围法和hash法来进行水平分表。
假设现在有30万行数据,需要对它们进行水平分表:
范围法很好理解,可以让第1-100000行数据存放在表1,第100001-200000行数据存放在表2,第200001-300000行数据存放在表3,就完成了水平分表。
hash法也不难理解,就是选择一个合适的hash函数,比如说使用取模操作(%),把%3结果为0的数据存放在表1,结果为1的存放在表2,结果为2的存放在表3即可。

水平分库

降低数据库访问频率

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值