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

IT实战联盟 2020-10-16 10:14:28 ⋅ 293 阅读

 

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

MySQL 分库分表是做什么的?

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

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

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

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

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

 

 

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

 

 

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

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

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


全部评论: 0

    我有话说:

    什么情况下才需要分库

    我请教一下,我模拟测试,搞了几张大都是3千万左右数据,带主键查询秒级响应,jmeter插入能够达到每秒6、700条左右,我业务量每秒就是300条左右插入,这个场景下是否不需要考虑分库问题?

    一文看懂mycat配置--数据库读写分离分库

    波波运维https://www.toutiao.com/i6742436467806568973 概述 系统开发中,数据库是非常重要一个点。除了程序本身优化,如:SQL语句优化、代码优化

    「轻阅读」大众点评是如何分库

    原大众点评订单单早就已经突破两百G,由于查询维度较多,即使加了两个从库,优化索引,仍然存在很多查询不理想

    老板我开发一个简单工作流引擎

    第1关 一天,老板找到我,做个简单工作流引擎。 我查了一天啥是工作流,然后做出了如下版本: 按顺序添加任意个审批人组成一个,最后加一个结束节点 记录当前审批人,当审批完后,审批人向后

    分库这样玩,可以永不迁移数据、避免热点

    中大型项目中,一旦遇到数据量比较大,小伙伴应该都知道就应该对数据进行拆了。有垂直和水平两种。

    分库工具:Apache ShardingSphere 5.0.0-alpha 发布

    Apache ShardingSphere 5.0.0 发布了 alpha 版本,自上个版本 4.1.1 发布以来,Apache ShardingSphere 一直在修复社区反馈问题、加强功能和

    微信小程序营销之大转盘(二)

    第一个版本大转盘都是用图片做,奖品等信息都是不无法修改白了就是没啥实际用途,作者我就直接用canvas撸了一个全手工绘制大转盘分享给大家

    为什么使用 Node.js?这几点你必须知道!

    解析“为什么使用Node”。 01 ...

    分享】一次单体架构改造成微服务架构实践

    从5个方面设计这次微服务方案,以及经验总结!

    大数据量下 MyBatis PageHelper 页查询性能问题解决办法

    前因 项目一直使用是PageHelper实现页功能,项目前期数据量较少一直没有什么问题。随着业务扩增,数据库扩增PageHelper出现了明显性能问题。 几十万甚至上百万数据查询性能缓慢

    微信小程序-欢乐夹娃娃

    前言 夹娃娃营销活动大家应该都不陌生那如何用小程序实现呢?今天就带大家用canvas撸了一个全手工绘制夹娃娃分享给大家。此处应有掌声 : ) 一、效果图 二、项目结构 三、运行流程 获取

    微信小程序电商实战-商品详情(上)

    先看一下今天实现程序商品详情页吧!

    精品推荐:微信小程序常见UI框架/组件库

    开发出一套高质量程序,运用框架,组件库是省时省力省心必不可少一部分,随着小程序日渐火爆,各种不同类型

    分享:一次深夜优化亿级数据奇妙经历

    了起来,一看是我们一个开发同学,顿时紧张了起来...

    「转发」数据库读写分离这个坑,你应该踩过吧?

    公司第一次发布项目遇到一个问题,一个数据库读写...

    为什么很多大公司选择使用 Node.js 做 Web 后端?

      大佬们问一下,为什么公司用Node.js 做web后端?并且Node 还调用Java做数据落地?在网上看了一些帖子,发现很多大厂都是这样做,我们公司项目也是这样,但是在开发

    微信小程序 - iconfont 图标字体

    你还在使用图片作为程序图标?大猪告诉大家如何在小程序上使用iconfont字体图标