栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

第二章 Mysql专题之分库分表

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

第二章 Mysql专题之分库分表

1、分库分表原因

生产环境遇到的问题:

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

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

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

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

水平分库原则
	:不跨库、不跨表,不保证同一类的数据在同意个服务器上
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/672349.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号