【作者】陈萍春 某保险公司资深工程师
一、概述
数据库是企业最重要的数据平台,在平替Oracle过程中,数据库的存储架构技术路线如何选择也是架构设计的难点之一。
存储架构技术路线如何确定?一般来说,应用场景则会决定计算存储的需求,而计算与存储平台又有着较强的联系和互相制约因素,又各具优势,呈现出组合的多样性,如图1所示。
图1:计算与存储平台组合图
二、Oracle 存储架构分析
单机部署模式下,数据库节点故障会导致数据库不可访问,数据可靠性也大打折扣,一般倾向于使用虚拟机的方式来保障可用性,这里不深入讨论。
Oracle的高可用部署模式一般采用物理机部署方式,主要搭配使用的是RAC和DG两种技术方案,如图2所示。先来分析RAC技术,RAC节点间通过网络心跳、磁盘心跳来判断是否节点故障状态,并采用共享存储的方式,极大避免了数据库节点间的数据同步;而DG技术则是通过主节点向DG节点传输数据库日志的方式,实现了主备副本的数据复制。
图2:Oracle存储架构图
在Oracle RAC场景下,依赖于外部共享存储,且磁盘心跳的存在,对存储网络的稳定性也提出了要求,一般来说,SAN存储是最佳的选择。另外,SAN存储有更加成熟可靠的存储双活技术,进一步保证了整体架构的高可用;
三、传统数据库平替场景
信创传统数据库平替Oracle的场景较为类似,目前容器技术主要用于轻量级应用,一般也都部署在虚拟机或物理机上。
单机部署模式也不再详述,推荐部署在虚拟机上,可以提供更高的可用性,一般使用SAN存储或分布式块存储。
高可用部署模式下,为充分发挥数据库的IO能力,同样建议部署在物理机上。信创数据库RAC方案还不够成熟,应用案例还不够多,较为依赖于稳定的共享存储,一般采用物理机部署的方式,成熟可靠的SAN存储方案是RAC方案的首选。
四、分布式数据库平替场景
分布式架构的整体优势可以抵消单个组件的局部劣势,由于信创硬件性能不足,金融机构大多采用分布式技术平台作为大数据量和高并发的解决方案。
1、数据库架构分析
数据库既具备事务处理、数据分析等计算能力,又承担着业务数据持久化存储的责任。目前,分布式数据库大多将事务处理等计算组件与数据存储组件进行解耦,以便于灵活扩展。
目前,分布式数据库主要是三种架构:
(1)原有开源数据库的基础上增加了多种中间件组件,实现了全局事务和数据管理能力,其数据分片就是一个数据库,可通过主备数据副本同步的方式保证数据一致。
(2)原生分布式数据库,底层数据被打散,通过paoxs/raft等分布式协议保证多个副本间数据一致。
(3)云原生数据库,通过分布式云存储实现数据共享,避免了数据副本同步,但其底层云平台有强绑定关系,使用云平台厂商的云存储产品,下文也不多做分析。
2、存储适配性分析
觉得本文有用,请转发、点赞或点击“在看”,让更多同行看到
资料/文章推荐:
欢迎关注社区 “存储”技术主题 ,将会不断更新优质资料、文章。地址:https://www.talkwithtrend.com/Channel/179
长按二维码关注公众号
*本公众号所发布内容仅代表作者观点,不代表社区立场