GBase新闻

专注于数据库软件产品和服务,致力于成为用户最信赖的数据库产品供应商

GBASE闲谈 | 聊金融容灾方案(上)

发布时间:2023-03-20

前两天在网上翻阅资料时,看到一篇讲数据库容灾方案的文章,标题醒目地写着 “秒级RTO容灾方案”,通篇围绕“秒级”这一概念讲述容灾。这让我很是诧异,容灾应是牺牲生产小部分效率增加冗余,以实现信息系统整体的数据安全,保证系统的稳定运行。诚然,RTO是很重要的容灾评判指标,一个容灾方案应讲述全方位容灾系统所提供的系统数据呵护,保证系统每一个环节的可用性,以达到24*7系统不间断运行的目的为佳,而不应当仅强调速度这一个指标。在我看来,容灾方案应该是由有效的容灾系统来表述的。

由“科普中国”科学百科词条编写与应用工作项目审核通过的百度词条描述的容灾系统如下:

“容灾系统,对于IT而言,就是为计算机信息系统提供的一个能应付各种灾难的环境。当计算机系统在遭受如火灾、水灾、地震、战争等不可抗拒的自然灾难以及计算机犯罪、计算机病毒、掉电、网络/通信失败、硬件/软件错误和人为操作错误等人为灾难时,容灾系统将保证用户数据的安全性(数据容灾),甚至,一个更加完善的容灾系统,还能提供不间断的应用服务(应用容灾)” 。

由此可见,数据保护才是容灾的目的,提供不间断服务是容灾的成功有效的表达。

那么,如何做到全方位的系统数据呵护呢?

我们知道一般情况下信息系统主要构成有三大块:存储、处理服务和传输。作为一个容灾方案要保证每个环节都安全,实际上就是在这三个环节都施放冗余,以达到系统整体不中断的述求,以满足金融行业“5个9”的要求。

这三个方面的冗余表现为:

1、存储安全 - 不中断:通过数据冗余完成;

2、服务安全 - 不中断:通过数据库服务器冗余完成;

3、传输安全 - 不中断:通过系统冗余完成。

以GBASE南大通用为例,让我们看看一个全面的容灾系统是如何搭建的。我们知道,一般的数据库信息系统,我们会分为事务型处理系统和分析型处理系统两类。对应的GBASE有两个不同的数据库服务引擎:事务处理引擎和分析处理引擎,它分别是GBase 8s和GBase 8a。下面让我们分别看看这两个数据库服务器引擎在处理事务型数据和处理分析型数据的时候,容灾方案的构成情况,以说明它们如何保护我们的数据安全,做到真正的意义上的细致呵护,达成容灾使命的。

存储安全 - 不中断

大部分情况下,大家对存储级别的保护都会选择RAID5。RAID5确实是对于磁盘数据保护尤其是恢复有帮助,但如果不是盘阵的话,数据库层面的保护对于重要数据的逻辑性校验,会显得保护更加有效。

在事务处理引擎方面,GBase 8s提供磁盘镜像技术,对重要数据做磁盘级别的冗余,保证数据不仅数值的正确性,也保证了逻辑的正确性。

在分析处理引擎方面,GBase 8a提供的多副本技术,对数据做存储级别的冗余,保证数据的提供不间断。

需要说明的是,磁盘镜像和节点数据冗余在磁盘层面和数据库层面是有区别的,磁盘层面不会做逻辑性校验。

服务安全 - 不中断

事务处理引擎:

服务不中断体现在事务处理引擎上的表达为共享集群,我们称其为SSC集群,当主服务server故障时,SSC的备选server可以立即接管。备选server的数量可定制,一般选用2-3个备选server,作为主server的冗余,整个集群共享一份数据。搭建情况如下图:

1.png

SSC采用备选节点和主机共享磁盘方式,避免了数据重复存储的问题,节省了空间,同时安装、配置更加简单。而且,当主机发生故障后,它可以快速实现接管,另外,我们可以非常容易地配置多个 SSC备选节点,实现了负载均衡的功能。

由于SSC备选节点利用了主服务器的磁盘并且可以轻松快速地启动,因而非常适合规模扩展场景,由于 SSC备选服务器非常接近主服务器(即它们共享相同的磁盘),因此最适合在主服务器遇到问题时作为故障转移服务器。

SSC集群工作的基本原理:

对于 SSC 辅助服务器,主服务器只需将逻辑日志页的日志位置发送到 SSC 辅助服务器。通过使用从主服务器接收到的日志位置,SSC 辅助服务器从磁盘读取逻辑日志页,并将其应用于内存数据缓冲区。

SSC 辅助服务器不会向共享磁盘块中写任何东西,不会将共享内存的数据刷新到磁盘,即使是发生 checkpoint 操作也一样。如果SSC 辅助服务器需要刷新共享内存数据,他们会备写到临时的‘ paging file ’ 中,直到下一次 checkpoint 操作才清空‘ paging file ’。同时,主服务器不会清仓共享内存中的数据页,直到确认SSC辅助服务器不再需要该数据页才会清仓到磁盘上。

下图是某农商行中间业务国产化的搭建方案:

2.png

该方案采用了全国产配置,承载ETC充值业务、渠道服务整合、业务流量控制等中间业务。通过SSC配置方案既满足了7*24小时业务连续性需求,具备故障秒级自动快速切换的能力,又实现了负载均衡的能力。达到了:

• 高性能:亿行级表响应时间为毫秒级,满足平台业务高峰处理能力;

• 高可用:故障透明自动快速切换,切换时间小于30秒,保障业务系统的连续性和安全性;

• 高稳定:保障银行涉钱交易业务7*24业务需求;

• 国产化:全国产平台一体化解决方案

分析处理引擎:

服务不中断体现在分析处理引擎上的表达为联邦架构形式。GBase 8a MPP Cluster产品总共包含三大核心组件——分布式管理集群GCWare、分布式调度集群GCluster和分布式存储集群GNode。它们的功能分别为:

GCluster:负责SQL的解析、SQL优化、分布式执行计划生成、执行调度。

GCWare:用于各节点GCluster实例间共享信息(包括集群结构,节点状态,节点资源状态等信息),以及控制多副本数据操作时,提供可操作节点,控制各节点数据一致性状态。

通常GCluster与GCWare组件部署在相同的物理节点上,统称coordinator。

coordinator提供池化管理,多个coordinator server放置于管理池中公用,任何一个节点服务的问题均不会影响系统的正常运行,无需切换。联邦架构的搭建形式如下:

3.png

联邦架构的优势-无停顿运行,协助上百家金融机构安全平稳开展业务,极高的可用性,使得GBase 8a成为金融界采购分析型数据库的首选。

4.jpg