MySQL高可用解决方案:从主从复制到InnoDB Cluster架构
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.1.5 可伸缩性

可伸缩性是与可靠性相关的另一个因素,这一因素通常与性能有关。通常情况下,用户会希望减少存储和检索数据的时间,但这需要用户关注应用程序,应用程序的类型决定了应用程序负载的位置。在云时代,用户需要确保当工作负载增加时,应用程序及其基础设施能够按需向上、向外和向下扩展。对于许多场景,仅扩展基础设施是无法满足需求的。为了承受工作负载,应用程序需要了解其数据库的需求。扩展数据库意味着扩展数据库读取、数据库写入或数据库的容量大小。用户可以使用集群实现数据库的伸缩性。

MySQL复制能够实现MySQL的伸缩性。MySQL的复制方案通常会采取一主多从的方式部署。当数据写入主服务器时,数据读取在从服务器上进行。伴随着应用程序服务器的增长,可以增加从服务器的数量,以减少数据的读取时间。除此之外,多台从服务器可以缓解大量并发操作的压力(多个应用程序服务器连接到不同的从服务器上,同时执行数据检索)。

用户通过使用读写分离,减轻了主服务器上执行过多语句的负担。在实际使用中,大多数应用程序的数据读取操作会超过数据写入操作。因此,用户可以将大量的读取操作分散到从服务器上,写入操作则在主服务器上进行。

数据库的扩展方式主要包含两种类型,即读取和写入。读取的扩展比较简单,可以通过使用冗余来实现。例如,使用MySQL复制实现冗余,但写入的扩展比较复杂,写入需要在两台或更多的服务器上进行数据的冲突检测和处理,传统的MySQL复制无法满足这一需求。因此,MySQL推出了新的解决方案——组复制。