YashanDB共享集群

简介: YashanDB共享集群

共享集群基于YashanDB内核持续演进,硬件上依赖共享存储实现shared-Disk的架构,同时引入了Cohesive Memory核心技术实现Shared-Cache能力,可在集群数据库多个实例之间协同数据页的读写访问以及各种非数据类资源的并发控制,主要特点包括:

共享集群是一个单库多实例的多活数据库系统,用户连接任意实例都可以访问同一个数据库,多个数据库实例可以并发读写同一份数据,且保证实例之间读写的强一致性,具备高可用、高扩展、高性能等特性。
共享集群的核心组件主要包括崖山集群内核(YCK,Yashan Cluster Kernel)、崖山集群服务(YCS,Yashan Cluster Service)和崖山文件系统(YFS,Yashan File System)。
共享集群支持在线故障自动切换和故障自动恢复,集群实例异常故障不影响剩余存活实例对外提供服务。
通过客户端TAF技术,客户端应用可以在故障时自动切换连接到存活的实例,故障对业务透明无感知。
YCK通过聚合内存(Cohesive Memory)技术,聚合多实例对数据资源和非数据资源的并发访问。

GRC

GRC(Global Resource Catalog)负责管理全局资源状态信息,例如一个数据块当前持有者是哪个实例、是以读/写哪种模式持有、哪些实例请求正在排队等。GRC相关元数据采用了一致性哈希算法平均分配到所有实例,任一资源的元数据信息在集群内只有一份。由GRC线程组负责处理多实例对全局资源的并发访问控制,并提供排队服务。

GCS

GCS(Global Cache Service)负责管理数据块类全局资源的调度,GCS在GRC提供的能力基础上实现实例之间数据块请求的完整流程,包括路由请求消息、数据传输以及状态维护等,由GCS线程组提供相应的服务。

GLS

GLS(Global Lock Service)负责管理非数据块类全局资源的调度,主要是各种类型的锁,GLS在GRC提供的能力基础上实现实例之间申请全局锁的完整流程,由GLS线程组提供相应的服务。

崖山集群服务(YCS,Yashan Cluster Service)
YCS负责管理共享集群数据库,包括集群服务器配置管理,集群资源配置管理,启停、监控服务器以及资源,提供查询服务器资源拓扑状态能力,在各种故障时负责投票仲裁并重组集群。

YCS是高可用的关键部件,通过网络心跳和磁盘心跳来确认其他服务器以及服务器上运行的资源是否正常。监控任务感知到资源运行状态异常时,会进行投票仲裁决定允许留在集群中的幸存者列表,并通知所有服务器的所有资源采取必要的重组动作。

共享集群每台服务器上会部署YCS实例(一组为YCS服务的线程称为一个YCS实例)和数据库实例,同一集群中不同服务器上运行的YCS实例和数据库实例完全一样,并通过内网互联。

YCS要求在共享存储上划分至少三块盘,是用作配置的[YCR File]和Voting File,所有服务器上的YCS实例和数据库实例均可读写这三块盘。

崖山文件系统(YFS,Yashan File System)
YFS是YashanDB的专用并行文件系统,提供存储设备管理、存储高可用、文件系统接口等功能。

在共享集群部署中,必须依赖YFS进行所有文件操作,包括但不限于控制文件、数据文件、日志文件等的增删改操作。

与通用文件系统相比,YFS的差异主要有:

YFS分配空间的最小单元较大,以确保文件分区表(FAT)信息占用空间较小,并能够常驻内存。此外,YFS采用共享内存技术,以供数据库实例直连访问,从而降低时延。
并行文件系统对于元数据修改会在共享集群所有实例上实时同步,所有数据库实例能够访问到一致的目录文件元数据信息。
YFS无独立进程,作为内嵌资源与YCS实例同进程运行,随YCS启动而启动,无需用户干预。

目录
打赏
0
2
2
0
98
分享
相关文章
k8s集群安装部署单机MySQL(使用StorageClass作为后端存储)
k8s集群安装部署单机MySQL(使用StorageClass作为后端存储)
1222 0
k8s集群安装部署单机MySQL(使用StorageClass作为后端存储)
崖山数据库YashanDB的共享集群机制初探
YashanDB共享集群是崖山数据库系统的核心特性,支持单库多实例并发读写,确保强一致性与高可用性。基于Shared-Disk架构和Cohesive Memory技术,实现数据页协同访问及资源控制。其核心组件包括YCK、YCS和YFS,提供金融级RPO=0、RTO<10秒的高可用能力。通过自研“七种武器”(如页内锁、去中心化事务管理等),优化性能并解决读写冲突。相比Oracle RAC,YashanDB在TPC-C测试中性能高出30%,适用于金融、电信等关键领域,推动国产化替代进程。
崖山数据库YashanDB的共享集群机制初探
YashanDB共享集群部署
本文介绍了YashanDB共享集群部署的安装步骤,以2台服务器和1个共享存储(含3个及以上LUN)为例。首先通过`yasboot package`命令生成配置文件`yashandb.toml`和`hosts.toml`,并根据需求调整参数。接着执行安装、数据库部署及重启操作,配置环境变量后检查安装结果。最后通过工具设置密码、查看状态,并可选择创建用户及开启守护功能。
YashanDB分布式部署
本文详细介绍了YashanDB在分布式环境下的安装与部署流程,以三台服务器为例(1个MN组、2个CN节点、1个DN组),涵盖主备配置。主要内容包括:生成部署文件(通过`yasboot package`命令)、执行安装、数据库部署、配置环境变量、检查安装结果等步骤。同时提供可选配置,如仲裁选主和用户管理,确保高可用性和性能优化。适合需要搭建分布式数据库集群的用户参考使用。
YashanDB共享集群V23.3 新特性解读
本文根据YashanDB集群首席架构师孟凡彬在“2024年国产数据库创新生态大会”上的演讲整理,聚焦YashanDB共享集群近一年的新特性。内容涵盖主备集群方案、存储架构优化、在线即时恢复技术、智能全局缓存刷盘策略等,大幅提升高可用性与性能。此外,还介绍了4节点共享集群的高性能实现、内核能力增强及未来规划,如在线弹性伸缩、多机执行优化等。YashanDB企业版和个人版已开放下载,欢迎体验。
【YashanDB知识库】如何查看共享集群共享盘的挂载关系
本文来自YashanDB官网,主要解决客户对查看共享集群存储不熟悉的难题,包括共享盘大小与挂载关系的指引。此问题可能影响测试业务开展,适用于所有YashanDB版本。文章提供基础命令操作,如通过`yfscmd`、`df -h`、`ls -l /dev/mapper/`、`dmsetup ls`和`lsblk`等命令查看配置与设备信息,同时介绍使用`iscsiadm`刷新挂载磁盘的异常处理方法。
【YashanDB知识库】如何查看共享集群共享盘的挂载关系
【YashanDB 知识库】如何查看共享集群共享盘的挂载关系
客户在使用YashanDB时,对查看共享集群存储不熟悉。此问题影响测试业务开展,涉及所有版本。通过`yfscmd`命令或配置文件(`$YASCS_HOME/config`)可查看挂载关系,但有时需通过`dmsetup`、`lsblk`等命令确认实际映射的设备号。若磁盘未显示,可用`iscsiadm`刷新会话。详细操作请参考官方文档。
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等