分析MySQL应用架构发展演变史

2023-12-28 12:50:07 生活妙招 投稿:一盘搜百科
摘要MySQL是最流行的关系型数据库软件之一。由于其体积小、速度快、开源免费、简单易用、维护成本低等,在集群架构中易扩展、高可用,因此深受开发者和企业的喜爱。今天我们一起来

MySQL是最流行的关系型数据库软件之一。由于其体积小、速度快、开源免费、简单易用、维护成本低等,在集群架构中易扩展、高可用,因此深受开发者和企业的喜爱。

今天我们一起来学习了解下MySQL数据库应用架构的发展。

单体架构

该架构指的是应用程序系统的所有数据存储只需要一个MySQL实例,就能满足数据的写入和读取需求。

分析MySQL应用架构发展演变史

单体架构

该架构适用于初期的小型应用程序,如果不断发展成长为大型应用程序,它就会出现如下应用瓶颈:

  1. 需要存储的数据量太大,超出一个MySQL实例的承受能力;
  2. 对数据库的读写操作量太大,超出一个MySQL实例的承受能力;
  3. 如果仅有的这个MySQL实例挂掉了,整个应用程序也就不能对外提供服务了。

主从架构

该架构主要解决的就是上面单体架构的出现的应用瓶颈的。已有的MySQL实例充当主库,负责写入操作,存储数据并同步从库。然后通过新增一个及以上的MySQL实例作为从库,来分担读取数据的压力。也可以在主库的MySQL实例挂掉之后,切换到从库来保证应用程序的高可用性。

分析MySQL应用架构发展演变史

主从架构

该架构适用于写少读多的场景,如果出现大量的写入操作,就会出现如下应用瓶颈:

  1. 对数据库的写操作量太大,超出一个MySQL主库实例的承受能力;
  2. 需要存储的写入数据量太大,超出一个MySQL主库实例的承受能力。

分库分表

对于单体架构和主从架构都遇到过的写入瓶颈和存储瓶颈时,可以通过分库分表来解决,它分为垂直拆分和水平拆分。

  • 垂直拆分:就是专库专用,按照不同的业务对数据表进行分类,发布到不同的数据库上。
分析MySQL应用架构发展演变史

垂直拆分

这种拆分方式,能更清晰的对模块进行划分,但最终还是会存在单张表的大数据量,引起数据库存储瓶颈的问题。

  • 水平拆分:就是将一张数据表按照某种规则进行拆分,拆成多张表,每个表中存储一部分数据,分别放到不同的数据库中。
分析MySQL应用架构发展演变史

水平拆分

这种拆分方式,能够解决垂直拆分存在的单表大数据量问题。

因此,垂直拆分和水平拆分在实际应用中,可以结合使用,优势互补。


作者:杨工,北京互联网公司在职JAVA开发,专注分享写作干货。欢迎关注我,期待你的点赞评论。

声明:一盘搜百科所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系 88888@qq.com