搜索
写经验 领红包
 > 职场

为什么需要分库分表(数据库为什么要分表)

导语:为什么说作为程序员分库分表的必要性一定要掌握?

为什么需要分库分表(数据库为什么要分表)

互联网大厂程序员必须掌握海量数据和高并发问题处理技能,期望进入大厂的程序员一定要仔细看这篇!

MySQL 分库分表是做什么的?

相信很多程序员对 MySQL 都比较熟悉了,目前国内大部分互联网公司都选择 MySQL 数据库来支撑自己的业务,当用户量级达到千万级以上后,就需要用到分库分表。

以 2700 万 C 端用户量的拉勾为例,介绍一下什么情况下必须用分库分表:

拉勾发展到现在已经调整了 3 次数据库存储方式,

1、发展之初用户量只有 10 万,只用单机数据库足以支撑;

2、发展一段时间之后,用户量激增到 100 万、500 万、800 万,面对用户的不断增多,系统的高并发和高可用等各种问题,开始使用数据库主从架构;

3、现在的拉勾拥有 2700 万 C 端用户,月活跃用户达 319 万,如果继续使用主从架构,数据库的存储资源有限,其负载能力也是有限的,单表数据量太大,会极大影响 sql 执行的性能,这时就开始使用分库分表来加速数据库处理能力。

使用分库分表后,完美解决了以下问题:

用户请求量太大单服务器 TPS 、内存、 IO 都是有上限的,需要将请求打散分布到多个服务器单库数据量太大单个数据库处理能力有限;单库所在服务器的磁盘空间有限;单库上的操作 IO 有瓶颈单表数据量太大查询、插入、更新操作都会变慢,在加字段、加索引、机器迁移都会产生高负载,影响服务

到这里你应该知道进行分库分表的重要性,以及什么情况下需要进行分库分表。

本文内容由小思整理编辑!