第二章 Mysql专题之分库分表

第二章 Mysql专题之分库分表,第1张

第二章 Mysql专题之分库分表 1、分库分表原因

生产环境遇到的问题:

1、用户量请求太大
	:但服务器TPS、内存、IO都是有上限的,需要将请求打散到多个服务上
	
2、单库数据量太大
	:单个数据库的处理能力有限,磁盘空间有限, *** 作IO有瓶颈
	
3、单表数据量太大
	:查询、插入、更新都会变慢,在加字段、加索引、机器迁移都会产生高负载,影响服务
2、垂直拆分 2.1、垂直分库
  • 微服务架构,业务切分的足够独立,数据也会按照业务划分,保证了数据分离,提高了数据库的吞吐能力

业务上的数据隔离,一个库拆成三个库
2.2、垂直分表
  • 表中字段太多且包含大字段,对数据库IO和内存受影响,同时产生的binlog文件会很大,mysql在主从同步时会有延迟的风险

一张表产分为两个表,两表字段整合相当于一张表
3、水平拆分 3.1、水平分表(实际上不用)
  • 针对订单量巨大的单张表,按照规则把一张表的数据切分到多张表里面去。
    • 但是这些表还是在一个库中,所以库级别的数据库 *** 作还有IO瓶颈

3.2、水平分库
  • 将单张表的数据切分到多个不同服务器上,每个服务器上具有相应的库和表,只是表中数据集合不同。
    • 水平分库分表能有效环节单机和单库的性能瓶颈和压力,突破IO、连接数、硬件资源等的瓶颈

水平分库原则
	:不跨库、不跨表,不保证同一类的数据在同意个服务器上

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5677575.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存