image.png
共享集群数据库是一种具备多节点协同、多写一致性和高可用能力的数据库管理系统。它支持多个实例访问同一个数据库,用户连接任一节点即可访问和操作全库数据。这类技术门槛极高,长期以来一直是国际厂商主导的“塔尖”领域,被认为是数据库架构能力的重要体现。

2023年,YashanDB正式发布其共享集群产品,打破了国产数据库在该领域的空白。本文作为系列首篇,将从架构角度入手,带你了解这款国产共享集群产品的技术全貌,开启对该体系的深入探索之路。

发展背景与行业趋势

在过去十余年里,分布式数据库持续成为市场焦点。而近年来,特别是在北京DTC大会后,越来越多厂商将目光重新聚焦到共享集群架构上,曾经被认为“过时”的RAC技术又焕发新生。

image.png
当前共享集群火热的背后,主要有三大驱动因素:

1.用户需求驱动:在OLTP等关键业务系统中,共享集群仍然凭借强一致性和应用透明性,展现出传统集中式架构不可替代的优势。

2.技术积累提升:经过三十多年的国产数据库内核发展,行业已有能力向RAC类架构进军。

3.硬件变革催化:金融、电信、政企等领域对新一代硬件环境的适配需求,也在倒逼数据库系统向共享集群演进。

尽管如此,真正能产品化落地共享集群的厂商仍是少数,原因无他——架构复杂,核心机制门槛极高。

YashanDB 为何能实现共享集群突破?

YashanDB 的成功离不开两方面的战略积累:

内核设计前瞻:从初始架构阶段,YashanDB 就在事务引擎、MVCC 和存储结构上为共享集群形态做好铺垫,使得其演进路径天然适配。

系统能力自研:YashanDB 构建了包括聚合内存、集群管理、用户态文件系统在内的一整套系统能力,确保多实例之间高效协同。

image.png
架构亮点速览

架构模型:多活共享集群

YashanDB 共享集群(YashanDB for Cluster)基于共享存储打造,支持横向扩展与高可用,借助自研聚合内存技术实现多节点数据访问的一致与高效。
image.png

三大特性尤为突出:

无感访问:用户可连接任意实例进行全库操作,兼容单机协议与 SQL 特性。

性能线性扩展:每节点都具备对等的计算与读写能力。

全面高可用:从实例容错、资源仲裁到存储层的冗余保障,构建端到端 HA 能力。

聚合内存机制

该技术是实现多实例一致性协同的核心。系统通过 GRC(资源目录)、GCS(缓存服务)、GLS(锁服务)与 ICS(通信服务)等组件,实现资源在集群内的全局调度。

以数据块访问为例,三种角色协作完成数据融合过程:

请求者:发起数据访问的节点。

协调者:记录资源状态并进行仲裁排队。

拥有者:当前拥有资源数据块的节点。

该机制通过少量网络通信,即可完成多节点间的数据块迁移和锁控制,性能与一致性兼顾。

image.png
配套系统能力

崖山集群服务(YCS)

YCS 是支撑集群运行的关键组件,采用去中心化对等设计,提供节点管理、心跳监控与资源仲裁等功能。YCS 通过 Voting Disk 实现磁盘心跳监控,确保集群在节点异常时迅速做出处理。
image.png

崖山文件系统(YFS)

YFS 是一款高性能、强一致、可插拔的用户态文件系统。具备以下能力:

原生直IO访问,绕过系统缓存层,追求极致性能;

API兼容性好,支持常规文件管理操作,适配数据库插件调用;

服务与数据双重高可用,通过磁盘组机制实现副本冗余与故障恢复。

image.png
核心内核技术解析

块级 MVCC

YashanDB 采用原地更新、块级 MVCC 架构,避免了传统行级 MVCC 空间膨胀与性能劣势的问题。块中设计事务槽(XSLOT),提升一致性读取效率,并简化了跨节点缓存同步过程。
image.png

基于时间戳的快照机制

与活跃事务数组机制相比,YashanDB 采用轻量级时间戳方案。事务提交与查询仅依赖 SCN 时间戳进行可见性判断,避免全局锁与快照维护开销,大幅提升并发能力,尤其适用于分布式与共享集群场景。

image.png
去中心化事务引擎

区别于传统的中心控制节点架构,YashanDB 实现事务 ID 全局唯一,各节点自主管理事务生命周期。借助 SCN 广播与查询同步,确保多节点一致性与可扩展性。

最后

共享集群的复杂不仅在于其架构,更在于各实例间高强度、高一致的交互逻辑。YashanDB 之所以能率先实现这一形态,正是因为其对底层核心能力的全面掌控。

从存储引擎到事务系统,从缓存机制到通信协议,YashanDB 在每一个关键点上做到了自研与优化,为国产数据库在高端领域提供了 1:1 替代国际产品的可能。

本文是系列第一篇,接下来的文章将继续深挖 YashanDB 在高可用、文件系统、调度等方面的技术细节,敬请关注!


数据库砖家
1 声望0 粉丝