分库分表理解

说到分库分表,会想到垂直拆分和水平拆分

1.垂直拆分:

根据业务的维度,将原本的一个库(表)拆分为多个库(表〉,每个库(表)
与原有的结构不同。什么意思呢?

1.1垂直分表:

就是“大表拆小表”,基于列字段进行的。一般是表中的字段较多,将不常用的, 数据较大,长度较长的字段拆分到“扩展表“。 一般是针对那种几百列的大表,也避免查询时,数据量太大造成的“跨页”问题。

1.2垂直分库:

垂直分库是对一个系统中不同的业务进行拆分,按照业务把不同的数据放到不同的库中。数据库中表和表之间很多是没有关系的,比如用户User一个库,商品Producet一个库,订单Order一个库。 切分后,要放在多个服务器上,而不是一个服务器上

2.水平拆分:

根据分片(sharding )算法,将一个库(表)拆分为多个库(表),每个库(表)依旧保留原有的结构。

2.1水平分表:

最简单的拆分规则是根据id进行%,把数据切分到多个表中。当然也有其他的规则,这里目前先不多说。

2.2水平分库:

将数据库拆分,提高数据库的写入能力就是所谓的分库。将单张表的数据切分到多个数据库中,表的结构是一样的 。

3.水平分库分表的规则

路由:通过分库分表规则查找到对应的表和库的过程叫作路由。比如,分库分表的规则是user_id % 2,当数据库需要新增账号时,如果用户的ID是2,那么2 % 2 = 0,根据%后的结果,来确定此账号应该被保存在User0表中,以此类推。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值