MySQL是最流行的关系型数据库软件之一 。由于其体积小、速度快、开源免费、简单易用、维护成本低等,在集群架构中易扩展、高可用,因此深受开发者和企业的喜爱 。
今天我们一起来学习了解下MySQL数据库应用架构的发展 。
单体架构该架构指的是应用程序系统的所有数据存储只需要一个MySQL实例,就能满足数据的写入和读取需求 。
文章插图
单体架构
该架构适用于初期的小型应用程序,如果不断发展成长为大型应用程序,它就会出现如下应用瓶颈:
- 需要存储的数据量太大,超出一个MySQL实例的承受能力;
- 对数据库的读写操作量太大,超出一个MySQL实例的承受能力;
- 如果仅有的这个MySQL实例挂掉了,整个应用程序也就不能对外提供服务了 。
文章插图
主从架构
该架构适用于写少读多的场景,如果出现大量的写入操作,就会出现如下应用瓶颈:
- 对数据库的写操作量太大,超出一个MySQL主库实例的承受能力;
- 需要存储的写入数据量太大,超出一个MySQL主库实例的承受能力 。
- 垂直拆分:就是专库专用,按照不同的业务对数据表进行分类,发布到不同的数据库上 。
文章插图
垂直拆分
这种拆分方式,能更清晰的对模块进行划分,但最终还是会存在单张表的大数据量,引起数据库存储瓶颈的问题 。
- 水平拆分:就是将一张数据表按照某种规则进行拆分,拆成多张表,每个表中存储一部分数据,分别放到不同的数据库中 。
文章插图
【分析MySQL应用架构发展演变史】水平拆分
这种拆分方式,能够解决垂直拆分存在的单表大数据量问题 。
因此,垂直拆分和水平拆分在实际应用中,可以结合使用,优势互补 。
推荐阅读
- 受众人群分析 受众人群
- 知乎内容运营推广策略分析
- 常用的八个cmd命令,你会熟练应用吗?
- 什么是Web应用程序防火墙WAF?
- 强烈推荐一款MySQL语句优化辅助工具,值得收藏
- 图解 MySQL 索引
- macOS 10.15功能升级,和32位应用说再见
- 无线遥控开关原理分析
- 汽车传感器和汽车电子应用中的电池
- MySQL连接数太多应该怎么解决?