数据库平替的不同场景下,如何选择计算与存储平台的组合?
【摘要】在平替Oracle过程中,数据库的存储架构技术路线如何选择是架构设计的难点之一。一般来说,应用场景则会决定计算存储的需求,而计算与存储平台又有着较强的联系和互相制约因素,同时各具优势,呈现出组合的多样性。因此,数据库平替需要深入分析具体需求,结合项目实际情况,确定其计算与存储平台的组合。
【作者】陈萍春 某保险公司资深工程师
一、概述
数据库是企业最重要的数据平台,在平替Oracle过程中,数据库的存储架构技术路线如何选择也是架构设计的难点之一。
存储架构技术路线如何确定?一般来说,应用场景则会决定计算存储的需求,而计算与存储平台又有着较强的联系和互相制约因素,又各具优势,呈现出组合的多样性,如图1所示。
图1:计算与存储平台组合图
SAN存储具有可靠成熟的优势,但成本高,扩展性弱;本地盘成本低廉,但可靠性低、也增加了管理成本;分布式块存储具有良好的扩展性,但部分应用场景下还不够成熟;文件及对象存储一般作为二级存储,性能不高。因此,有必要深入分析不同数据库场景的具体需求,结合项目实际情况,确定其计算与存储平台的组合。
二、Oracle 存储架构分析
单机部署模式下,数据库节点故障会导致数据库不可访问,数据可靠性也大打折扣,一般倾向于使用虚拟机的方式来保障可用性,这里不深入讨论。
Oracle的高可用部署模式一般采用物理机部署方式,主要搭配使用的是RAC和DG两种技术方案,如图2所示。先来分析RAC技术,RAC节点间通过网络心跳、磁盘心跳来判断是否节点故障状态,并采用共享存储的方式,极大避免了数据库节点间的数据同步;而DG技术则是通过主节点向DG节点传输数据库日志的方式,实现了主备副本的数据复制。
图2:Oracle存储架构图
在Oracle RAC场景下,依赖于外部共享存储,且磁盘心跳的存在,对存储网络的稳定性也提出了要求,一般来说,SAN存储是最佳的选择。另外,SAN存储有更加成熟可靠的存储双活技术,进一步保证了整体架构的高可用;
而在DG场景下,一般采用的是异步方式的数据复制,则降低了对外部存储的要求。但DG可提供应用只读服务,且大多数用于数据库容灾场景,也倾向于与主Oracle数据库节点的存储架构保持一致。
三、传统数据库平替场景
信创传统数据库平替Oracle的场景较为类似,目前容器技术主要用于轻量级应用,一般也都部署在虚拟机或物理机上。
单机部署模式也不再详述,推荐部署在虚拟机上,可以提供更高的可用性,一般使用SAN存储或分布式块存储。
高可用部署模式下,为充分发挥数据库的IO能力,同样建议部署在物理机上。信创数据库RAC方案还不够成熟,应用案例还不够多,较为依赖于稳定的共享存储,一般采用物理机部署的方式,成熟可靠的SAN存储方案是RAC方案的首选。
信创数据库大多数只采用类似DG的高可用方案,是主备数据副本方式实现数据同步。若使用物理机本地盘的存储方案,确实能降低存储成本,但牺牲了数据库的可用性和可靠性;在外部存储方面,分布式存储具有高并发、高扩展性,适宜于一般业务场景;而SAN存储更成熟可靠,架构简单,且有完整成熟的容灾方案,适用性更强。
四、分布式数据库平替场景
分布式架构的整体优势可以抵消单个组件的局部劣势,由于信创硬件性能不足,金融机构大多采用分布式技术平台作为大数据量和高并发的解决方案。
1、数据库架构分析
数据库既具备事务处理、数据分析等计算能力,又承担着业务数据持久化存储的责任。目前,分布式数据库大多将事务处理等计算组件与数据存储组件进行解耦,以便于灵活扩展。
目前,分布式数据库主要是三种架构:
(1)原有开源数据库的基础上增加了多种中间件组件,实现了全局事务和数据管理能力,其数据分片就是一个数据库,可通过主备数据副本同步的方式保证数据一致。
(2)原生分布式数据库,底层数据被打散,通过paoxs/raft等分布式协议保证多个副本间数据一致。
(3)云原生数据库,通过分布式云存储实现数据共享,避免了数据副本同步,但其底层云平台有强绑定关系,使用云平台厂商的云存储产品,下文也不多做分析。
2、存储适配性分析
集中式数据库,一般部署在集中式存储上。原生分布式数据库在金融行业的适用场景并不多,考虑到数据IO压力以及分布式数据库的稳定性,一般部署在物理服务器上。对于分布式中间件数据库来说,每个数据分片由多个副本组成,一主多备,快同步复制,主节点与备节点间通过HA机制实现故障切换,类似于Oracle DG的模式。服务器本地盘的存储方案更加简单、廉价,但隐患在于服务器硬件故障的几率较高,故障后需要主备切换;而外部存储方式有更好的硬件冗余方案,但也增加了存储及存储网络的故障点,但整体来看,采用外部存储方案会更加可靠,且SAN存储也是要优于分布式块存储。