从头开始学分库分表-------基本概念

目录

一、水平分表

二、水平分库

三、垂直分表

四、垂直分库


 

一、水平分表

        把同一张拆分为表1表2表3、......、表N。解决单表数据量过大问题。拆分前后,表的结构都相同。

        拆分原则:一般单张表的数据量达到百万级别,则适用水平分表。例如【学生成绩表】,学生成绩的记录往往都超过百万。所以适用于水平分表,按照学期进行分表

       

二、水平分库

        水平分库把同一张表的数据,按照一定的拆分规则,分配到不同的数据库中。

        每个数据库放在不同的服务器上,拆分后的所有的表结构相同

        水平分库解决单表 数据行 过大问题,把一个平移分成 库1库2、...库N

        拆分原则:(1)单表数据量特别巨大的时候。

        举例:系统中有【学生成绩表】,如果希望存储30家学校的成绩数据,每家学校的教学业务数据都达到千万级别。那么单台MySQL数据库就会达到性能瓶颈。如此多的数据,就需要水平分库,使用多台MySQL服务器来存储每家的成绩数据。

       

三、垂直分表

        垂直分表是按照表的字段进行拆分,按照热门、冷门字段把原来的表拆分开来,每张表存储其中一部分字段。

        拆分原则:

        (1)把频繁被查询的字段放在同一张主表中

        (2)把不经常被查询的字段单独放在一张从表中

        (3)把text、blob等大字段抽出来单独放在一张从表中

       

四、垂直分库

        垂直分库按照业务,把不同的表分配到不同的服务器上。

        垂直分库讲究专库专用

        拆分原则:单台数据库数据量很大,且访问压力很大、查询响应时间长,可考虑垂直分库。

posted @ 2022-07-17 12:13  小大宇  阅读(3)  评论(0编辑  收藏  举报