美文网首页
Mysql数据库分表分库

Mysql数据库分表分库

作者: 小成都人 | 来源:发表于2023-07-10 12:18 被阅读0次

1、为什么要分表分库
当一张表的数据达到几千万时,查询一次所花的时间会变长。这时候,如果有联合查询的话,可能会卡死在那儿,甚至把系统给拖垮。
①IO瓶颈:热点数据太多,数据库缓存不足,产生大量磁盘IO,效率较低。请求数据太多,带宽不够,网络IO瓶颈。

②CPU瓶颈:排序,分组,连接查询,聚合统计等SQL会消耗大量的CPU资源,请求数太多,CPU出现瓶颈。

分库分表将数据分散存储,使得单一数据库/表的数据量变小来缓解单一数据库的性能问题。

2、目的
减小数据库的负担,提高数据库的效率,缩短查询时间。

3、拆分策略
水平拆分:水平分表,水平分库;

垂直拆分:垂直分表,垂直分库。

垂直分库:以表为依据,根据业务将不同表拆分到不同库中。特点:
①每个库的表结构都不一样;
②每个库的数据也不一样;
③所有库的并集是全量数据。

垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。特点:
①每个表的结构都不一样;
②每个表的数据也不一样,一般通过一列(主键/外键)关联;
③所有表的并集是全量数据。下图为垂直分表的案例,两张表以主键id关联。

水平分库:以字段为依据,按照一定策略,将一个库的数据拆分到多个库中。特点:
①每个库的表结构都一样;
②每个库的数据都不一样;
③所有库的并集是全量数据。

水平分表:以字段为依据,按照一定的策略,将一个表的数据拆分到多个表中。特点:
①每个表的表结构都一样;
②每个表的数据都不一样;
③所有表的并集是全量数据。

相关文章

  • Mysql的分库分表,水平拆分-垂直拆分

    参考文章MySQL分库分表总结参考数据库分库分表策略,如何分库,如何分表?MySQL分库分表原理 MySQL单库数...

  • (转载)MySQL数据库之互联网常用分库分表方案

    MySQL数据库之互联网常用分库分表方案 一、数据库瓶颈 1、IO瓶颈 2、CPU瓶颈 二、分库分表 1、水平分库...

  • 分库分表

    【分库、分表】MySQL分库分表方案 - MrSunny - 博客园 总结下Mysql分表分库的策略及应用 - 周...

  • 16 MySQL 分库分表

    MySQL 分库分表 [toc] 分库 分表 将存放在一个数据库( 主机 )中的数据,按照特定方式进行拆分,分散存...

  • centos7安装Mycat-单机版

    前言 系统的数据承载量还是挺大的,所以需要对存储进行分库分表,数据库使用mysql,分库分表中间件使用mycat(...

  • MySQL的分库分表

    MySQL的分库分表 概述 简单的来说分库分表就是通过某种特定的条件,将存放在同一数据库中的数据分散在多个数据库中...

  • Mysql数据库分库分表

    数据库——MySQL分库分表的演进以及引申 https://blog.csdn.net/wolf_love666/...

  • 2020年PHP最新面试题(含答案)

    1. 数据库设计经验,为什么进行分表?分库?一般多少数据量开始分表?分库?分库分表的目的?什么是数据库垂直拆分?水...

  • 面试官:给我讲一下分库分表方案

    一、数据库瓶颈1、IO瓶颈2、CPU瓶颈二、分库分表1、水平分库2、水平分表3、垂直分库4、垂直分表三、分库分表工...

  • mysql优化

    Mysql分库分表方案 Mysql分库分表方案 1.为什么要分表: 当一张表的数据达到几千万时,你查询一次所花的时...

网友评论

      本文标题:Mysql数据库分表分库

      本文链接:https://www.haomeiwen.com/subject/twqawrtx.html