MySQL是最流行的关系型数据库软件之一。由于其体积小、速度快、开源免费、简单易用、维护成本低等,在集群架构中易扩展、高可用,因此深受开发者和企业的喜爱。
今天我们一起来学习了解下MySQL数据库应用架构的发展。
该架构指的是应用程序系统的所有数据存储只需要一个MySQL实例,就能满足数据的写入和读取需求。
单体架构
该架构适用于初期的小型应用程序,如果不断发展成长为大型应用程序,它就会出现如下应用瓶颈:
该架构主要解决的就是上面单体架构的出现的应用瓶颈的。已有的MySQL实例充当主库,负责写入操作,存储数据并同步从库。然后通过新增一个及以上的MySQL实例作为从库,来分担读取数据的压力。也可以在主库的MySQL实例挂掉之后,切换到从库来保证应用程序的高可用性。
主从架构
该架构适用于写少读多的场景,如果出现大量的写入操作,就会出现如下应用瓶颈:
对于单体架构和主从架构都遇到过的写入瓶颈和存储瓶颈时,可以通过分库分表来解决,它分为垂直拆分和水平拆分。
垂直拆分
这种拆分方式,能更清晰的对模块进行划分,但最终还是会存在单张表的大数据量,引起数据库存储瓶颈的问题。
水平拆分
这种拆分方式,能够解决垂直拆分存在的单表大数据量问题。
因此,垂直拆分和水平拆分在实际应用中,可以结合使用,优势互补。