
共享存储架构,对比于其他架构有着鲜明的特点,可以提供很好的高可用、高性能、可扩展和应用透明的特性。下图将针对常用的架构及与共享存储架构的对比来说明下。

1).主备架构(HA)
2).非共享存储架构(MPP)
3).数据分片架构(Sharding)
4).主从复制架构(Replication)
5).多活复制架构(Multi-Active)

作为共享存储架构产品的代表性产品,Oracle RAC 可以说是将共享存储架构真正推广开来。下面我们简单了解下Oracle RAC 这一产品,也为后面谈国产数据库类似架构产品加以参照对比。
1).Oracle RAC 核心能力
2).Oracle RAC 架构及组件

3).Oracle RAC 发展历史


1).达梦-DMDSC
❖ 架构图

实例高可用-DMCSS,当出现系统故障、硬件故障、或人为操作失误时,DMCSS 可检测故障并自动将故障节点踢出集群,保证数据库服务的正常提供。故障节点的用户连接会自动切换到活动节点,这些连接上的未提交事务将被回滚,已提交事务不受影响;活动节点的用户连接不受影响,正在执行的操作将被挂起一段时间,在故障处理完成后,继续执行。当 DMCSS 检测到故障节点恢复时,自动启动节点重加入流程,将恢复的故障节点重新加入 DMDSC 集群,将集群恢复到正常的运行状态。 数据高可用-DMASM,如果 DMDSC 配置了 DMASM 镜像,镜像功能可提供多副本技术。当出现磁盘损坏或数据丢失时,系统无需人工干预即可利用其他镜像副本继续提供数据库服务,同时又可以自动或手动通过使用其他镜像副本进行数据恢复。
❖ 特点:高吞吐量
多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
DMDSC 集群中包含多个数据库实例,数据库实例访问独立的处理器、内存,数据库实例之间通过缓存交换技术提升共享数据的访问速度,每个数据库实例都可以接收并处理用户的各种数据库请求。
与单节点数据库管理系统相比,DMDSC 集群可以充分利用多台物理机器的处理能力,支撑更多的用户连接请求,提供更高的吞吐量。与双机热备系统相比,DMDSC 集群不存在始终保持备用状态的节点,不会造成硬件资源的浪费。
❖ 特点:负载均衡
一方面,通过巧用服务名,用户的连接请求被平均分配到集群中的各个节点,确保连接负载平衡;另一方面,条带化技术可保证写入的数据均匀分布到磁盘组内的不同磁盘中,实现数据负载均衡。
流量负载均衡,通过配置 DM 数据库连接服务名来访问 DMDSC 集群,可以实现节点间的连接自动负载均衡。用户的数据库连接请求会被自动、平均地分配到 DMDSC 集群中的各个节点。并且连接服务名支持 JDBC、DPI、ODBC、DCI、.Net Provider 等各种数据库接口。
IO负载均衡,通过配置 DMASM 镜像,使用镜像的条带化技术可保证写入的数据均匀分布到磁盘组内的不同磁盘中,实现数据负载均衡。
2).人大金仓-KES RAC
❖ 架构图

KES RAC 提供了数据库的连接驱动,实现了客户端的负载均衡。中间部分的集群管理软件-clusterware,提供集群成员管理,进行故障检测与处置。KES RAC 数据库提供跨节点一致的读写服务。集群文件系统支持各节点数据库对共享存储的一致性访问。
❖ 特点:读写请求横向扩展
KingbaseES RAC集群目前支持2~8个节点的规模。在OLTP类应用可以无冲突的访问各个节点时,可以获得0.8以上的吞吐量加速比。
❖ 特点:高可用性
使用 KingbaseES RAC 可以在一定程度上避免因为硬件或软件故障引起的计划内或计划外停机,增加系统的可用性。KingbaseES RAC提供RPO=0,RTO<60s的可用性以及故障排除后的自动恢复能力。在2节点部署、200并发、负载均衡、多表2000行/s写入情况下,集群默认配置下RTO参考

❖ 特点:多种部署模式
负载均衡模式,集群各节点都接收读写请求,在提供可用性的同时提供横向性能扩展。在各节点请求无冲突时基准测试可实现0.8以上的加速比。
单活模式,集群单节点接收读写请求,其他节点只在接收请求的节点故障后接管。各类资源的主节点都保持在接收请求的节点。适用于负载均衡模式下有跨节点通信瓶颈业务场景,提供可用性的同时不会有主备复制的同步延迟。
One Node模式,类似Oracle RAC One Node模式,集群中提供多个单实例服务,提供冷备级可用性,单实例支持扩展为多实例。适用于数据库集中类场景,需要低成本运行多个业务。
3).南大通用-GBase8s
GBase 8s是天津南大通用数据技术股份有限公司自主研发的、成熟稳定的基于共享存储的数据库集群。该方案实现了在低成本服务器上构建数据库高可用系统,应用自由部署,故障自动切换。GBase 8s 共享存储集群 Shared Storage Cluster(SSC)通过多个节点对外提供服务,保障系统高可用。数据保存在共享存储上,所有节点共享一份数据。共享存储集群提供的通信协议、SQL 协议与单机相同,保障应用系统无缝迁移。支持集中式部署、共享存储高可用部署、两地三中心高可用部署,具备高容量、高并发、高性能等特性。
❖ 特点:高可用性
当某节点发生故障时,其他节点自动接管服务请求。主节点故障秒级切换,辅助节点故障不影响数据库服务。
共享存储高可用,支持共享存储高可用,解决用户关键业务中非常关心的数据高可用问题,支持故障自动秒级切换。支持节点数达16个,用户可通过增加节点数,实现读性能近线性提升。
支持同机房共享存储(SSC)、主备高可用灾备(HAC)能力、异地灾备高可用(RHAC)能力。
❖ 特点:高扩展性
GBase 8s 共享存储集群最高可支持 128 节点,用户可根据自己需要在线增加节点数。
❖ 特点:应用透明性
Connection Manager 功能部件,它可以提供SLA功能,更好地实现负载均衡的能力,同时提供了 FOC(FailOver Connection) 功能,实现透明故障接管能力。
❖ 特点:多部署方式
GBase 8s 系统的高可用集群有共享存储集群、容灾集群三种,并支持组合,实现两地三中心高可用部署。集群切换可通过连接管理器(CM)组件实现。

灾备集群 HAC(High availability cluster)根据备份距离不同分为同城灾备集群和异地灾备集群。HAC 技术是一种将数据从主服务器复制到备服务器的技术。异地灾备集群是同城容灾的扩展,提供远程的容灾备份方案,同城容灾备集群支持同步、半同步、异步三种模式,异地灾备集群支持异步模式;
共享存储集群SSC(Shared storage cluster) 通过多个节点对外提供服务,保障系统高可用。数据保存在共享存储上,所有节点共享一份数据。当主节点出现故障时,备节点将自动、快速接管主节点服务。
企业级复制 Enterprise Replication(ER)是基于日志的异步工具,用于在 GBase 8s Server 数据库服务器之间复制数据。源服务器上的Enterprise Replication 通过读取逻辑日志,存储事务并将每个事务作为复制数据可靠传输至目标服务器。
连接管理器(CM)是一个轻量级连接管理组件,位于应用程序和 8s 高可用数据库集群之间,根据集群状态提供负载均衡及故障接管功能,支持代理和重定向两种模式。

4).优炫-UXDB SRAC
5).崖山-YanshanDB
❖ 架构图

YashanDB共享集群依据YashanDB的数据库内核逻辑演进而来,并在共享存储的基础上引入了Cohesive Memory核心技术,用于集群数据库各实例之间协同数据页的读写访问以及各种非数据类资源的并发控制。其中,GRC( Global Resource Catalog )负责全局资源管理,GCS( Global Cache Service )负责全局数据页管理,GLS( Global Lock Service )负责全局锁管理。
Inter-Communication Service,内部通讯服务,简称ICS,用于建立实例之间的连接池,并实现实例间的相互通信。
Yashan File System,崖山文件系统,简称YFS,崖山文件系统承担了集群文件系统的职责,直接管理裸设备,并提供强一致的文件系统服务给数据库使用。
Yashan Cluster Service,崖山集群服务,简称YCS,崖山集群服务是集群数据库高可用的核心部件,统一管理崖山文件系统、数据库等资源,包括配置、启停、监控等,并在各种故障场景下提供仲裁服务,维护全局统一的拓扑状态,支撑YashanDB共享集群从部署到启停的完整形态的稳定运行。
❖ 特点:高可用
一套共享集群由若干台服务器组成,当某台物理服务器宕机时,共享集群仍能正常提供服务。
崖山集群文件系统(后续简称YFS),还提供了管理diskgroup(磁盘组)、failuregroup(故障组)等重要特性,以支持共享集群的存储高可用。
❖ 特点:透明应用切换
通过TAF( Transparent Application Failover )技术,在客户端层面实现数据库服务端发生故障时,能够自动重连或切换到活跃实例,不需要用户介入和感知,但用户的未提交事务将被执行回滚。透明应用切换属于客户端侧功能,用户可自由选择是否使用,但与不使用导致抛出连接错误相比,透明应用切换使得应用程序对用户变得更加友好,最大程度保证了业务的连续性。




