TreeMind树图在线AI思维导图
当前位置:树图思维导图模板IT互联网互联网干货SQL分区,分表,分库思维导图

SQL分区,分表,分库思维导图

  收藏
  分享
免费下载
免费使用文件
大灰 浏览量:52022-11-19 22:40:12
已被使用0次
查看详情SQL分区,分表,分库思维导图

MYSQL初级知识——SQL分区,分表,分库

树图思维导图提供 SQL分区,分表,分库 在线思维导图免费制作,点击“编辑”按钮,可对 SQL分区,分表,分库  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:0040701ba18a7c24e0b06684df414b70

思维导图大纲

SQL分区,分表,分库思维导图模板大纲

MySQL分区

是什么?

一般情况下,创建的表对应一组存储文件,使用MyISAM存储引擎时是一个 .MYI 和 .MYD 文件,使用InnoDB存储引擎时是一个 .ibd 和 .frm(表结构)文件。

当数据量较大时(千万条级别以上),MySQL性能会开始下降,这时就需要将数据分散到多组存储文件,保证单个文件的执行效率。

能做什么?

逻辑数据分割;

提高单一文件的写和读应用速度;

提高分区范围读查询的速度;

分割数据能够有多个不同的物理文件路径;

高效的保存历史数据;

怎么操作?

查看当前数据库是否支持分区

SHOW VARIABLES LIKE '%partition%'; -- 5.6及之前版本

show plugins; -- 5.6版本

分区类型

Range 分区

List 分区

Hash 分区

Key 分区

MySQL分表

垂直拆分

垂直分表,通常是按照业务功能的使用频次,把主要的、热门的字段放在一起作为主表。把不常用的,按照各自的业务属性进行聚集,拆分到不同的次要表中。主表和次要表的关系一般都是一对一的。

水平拆分(数据分片)

单表的容量不超过500W,否则建议水平拆分。是把一个表复制成同样表结构的不同表,然后把数据按照一定的规则划分,分别存储到这些表中,从而保证单表的容量不会太大,提升性能;当然这些结构一样的表,可以放在一个或多个数据库中。

水平分割的几种方法

使用MD5哈希

按时间划分

按热度划分

按ID值划分

MySQL分库

为什么要分库?

数据库集群环境后,都是多台slave,基本满足了读取操作;但是写入或大数据、频繁的写入操作,对master性能影响就比较大,这个时候单库并不能解决大规模并发写入的问题,需要考虑分库。

分库是什么?

一个库里表太多了,导致了海量数据,系统性能下降,把原本存储于一个库的表拆分存储到多个库上,通常是将表按照功能模块、关系密切程度划分出来,部署到不同的库上。

优点

减少增量数据写入时的锁,对查询的影响;

由于单表数量下降,常见的查询操作由于减少了需要扫描的记录,使得单表单词查询所需的检索行数变少,减少磁盘IO,延时变短;

分库分表后的难题?

分布式事务的问题,数据完整性和一致性的问题;

数据操作维度问题:用户、交易、订单各个不同的维度;

跨库联合查询的问题,可能需要两次查询跨节点的count、order by、 group by 以及聚合函数问题。可能需要分别在各个节点上得到结果后,在应用程序端进行合并处理,增加额外的数据管理负担;

相关思维导图模板

分析传统文化进行创新设计的优秀作品思维导图

树图思维导图提供 分析传统文化进行创新设计的优秀作品 在线思维导图免费制作,点击“编辑”按钮,可对 分析传统文化进行创新设计的优秀作品  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:b10e0023950f5b8b1cd58ca2e19944cc

Li River--Beautiful Water and Mountains思维导图

树图思维导图提供 Li River--Beautiful Water and Mountains 在线思维导图免费制作,点击“编辑”按钮,可对 Li River--Beautiful Water and Mountains  进行在线思维导图编辑,本思维导图属于思维导图模板主题,文件编号是:690a608b69a3b300c4507d9cae90acde