1.2.3 多实例数据共享架构
在读写分离架构中,数据的写操作保存在主节点,因此业务系统对主节点服务器的存储性能要求较高。为了提高数据存储容量、存储性能及共享访问方式,在数据库集群实现案例中,通过存储区域网络(Storage Area Network,SAN)等高速存储网络实现集群架构的数据存储,将服务器计算节点和存储节点进行解耦。在这种数据库集群架构中,各计算节点运行数据库的多个实例,分担业务服务器的数据访问请求,并将数据操作汇聚到共享存储当中。由于数据库实例能够不断增加,因此数据库集群能够实现计算能力的扩展,同时利用SAN技术高速存储、可扩展性方面的优势,最终实现数据库集群架构的多实例数据共享。
1. 基本结构
在数据库集群中,多实例数据共享架构一般使用共享磁盘(Share Disk)的方式。在使用共享存储时,各服务器计算节点能够正常挂载共享存储。为提高系统的数据安全性,在使用共享存储时也可以根据情况构建数据备份节点。
多实例数据共享架构如图1-5所示。
图1-5 多实例数据共享架构
2. 架构指标
多实例数据共享架构通过多数据库实例来提高数据库架构整体性能,下面分别根据各项指标进行说明。
(1)一致性:共享存储使数据的访问具有唯一性和集中性,针对共享存储的数据备份,主要是容灾备份,因此也不存在数据一致性问题。
(2)性能:读写操作关联的数据库处理由系统分散到各个实例中,最终将更新到共享存储上。基于SAN的共享存储在性能上远高于通用存储,因此基于SAN的多实例数据共享在性能上有显著提高,但受共享存储的影响,这种架构只适用于小型数据库集群,一般为面向几十个节点的数据库集群。
(3)高可用性:在数据库集群架构实例丢失的情况下,不影响系统整体性能。在共享存储发生故障的情况下,系统不可用,一般可通过备份节点进行切换,因此其高可用性可以满足数据库集群架构的基本需求。
(4)可扩展性:在并发能力方面,通过增加数据库实例来提升系统的可扩展性;在系统存储容量方面,高速共享存储在扩容方面的能力也较为突出,能够根据需求扩充存储,但共享存储的单节点访问限制使多实例数据共享在可扩展性方面存在上限。
(5)部署难度:数据库集群架构部署的难度在于多实例节点和共享存储之间的网络交互,一般需要构建SAN存储结构。数据库集群架构整体逻辑不复杂、数据切换逻辑简单、对应用透明,因而部署方案比较成熟。