分库分表
# 分库分表
# 概念
根据项目业务需求,可以进行 垂直分表
、水平分表
、垂直分库
以及水平分库
。
# 垂直分表
垂直分表举个例子就是:存在一张表 table1 ,表中存在字段 A、B、C、D、E,其中ABC的访问频率非常高,而其他字段访问频率相对较低。所以用垂直分表的 思想来看,那就可以将ABC字段独立组成一张表,其余字段组成一张表,两张表关联组成全部信息。
# 水平分表
水平分表举个例子就是:沿用上面的例子,现在已经将table1垂直拆分成了 table1_1 和 table1_2,那么不可避免的两张表的数据会越来越多,此时假设可以按照 每月数据进行水平分表,建立新表之后,就有如下几张表:
- 存放2023-08时间段数据的 table1_1_202308, table1_2_202308
- 存放2023-09时间段数据的 table1_1_202309, table1_2_202309 显而易见,水平分表,就是将同样的表,按照不同存储数据的维度,多建立几张字段完全相同的。
# 垂直分库
类似于垂直分表,假如存在一个数据库,其中有 table1、table2、table3三张表,由于三张表在同一个数据库,数据库很容易遇到瓶颈,那么此时,新建一个数据库、 将table2、table3存到新的数据库中,这种操作便是垂直分库。
# 水平分库
与水平分表类似,如果一个数据库中存在一张表 table1 数据量达到瓶颈,那么我们可以新建一个数据库,建立相同的表,根据一定的算法,将数据分散到两个数据库中。
编辑 (opens new window)
上次更新: 2023/08/27, 09:49:32