一天一道面试题——数据库篇8(分表分库)

2022-02-22  本文已影响0人  猿哥媛姐

为什么要分表分库

数据量大了,使用多个读写分离,多个从库也无法解决查询性能问题时,需要对数据进行切分。

垂直切分

垂直分表

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

垂直分库

垂直分库针对的是一个系统中的不同业务进行拆分。

优点:

缺点:

水平切分

水平分表

针对数据量巨大的单张表(比如订单表),按照某种规则(RANGE,HASH取模等),切分到多张表里面去。 但是这些表还是在同一个库中,所以库级别的数据库操作还是有IO瓶颈。不建议采用。

水平分表分库

将单张表的数据切分到多个服务器上去,每个服务器具有相应的库与表,只是表中数据集合不同。

优点

缺点

切分方案

开源中间件

上一篇下一篇

猜你喜欢

热点阅读