YashanDB实例架构

简介: YashanDB实例架构

数据库是物理概念,是指在磁盘上存放的各类持久化数据文件的集合。

数据库实例只在运行态存在,包括一组线程和内存空间,YashanDB采取多线程架构,内存空间由共享内存区域和私有内存区域两部分组成。每个正在运行的数据库至少与一个数据库实例相关联。

单机部署

分布式部署

共享集群部署

主要模块介绍
数据库客户端

一般是指客户基于YashanDB驱动开发的应用程序或YashanDB提供的客户端工具。

驱动:应用程序和数据库存储之间的接口,每一个驱动实现某一种开发语言对数据库各类操作指令的调用。

工具:一类软件应用程序或工具集,旨在帮助数据库管理员(DBA)和开发人员管理和维护数据库系统。

插件管理

插件管理是YashanDB提供的一个开发框架,用于与第三方合作开发插件,以拓展更加丰富的功能。

单机数据库服务端

包括数据库实例和一系列持久化文件。

数据库实例只在运行态存在,包括一组线程和内存空间,YashanDB采取多线程架构,内存空间则由共享内存区域和私有内存区域两部分组成。

分布式数据库服务端

包括分布式服务组件、节点上的数据库实例和一系列持久化文件。

YashanDB分布式部署采用了Shared-Nothing的架构,各服务组件描述如下:

MN Group:MN负责集群的节点管理、元数据管理和分布式事务管理。MN组内节点具有主从关系,通过Raft协议实现节点间的一致性。

CN Group:CN负责对外提供接口,接收用户请求,生成分布式查询计划,向DN分发查询计划并汇总执行结果。

DN Group:DN负责存储数据,执行CN下发的查询计划。通过DN组提供高可用能力,组内节点具有主从关系,通过Raft协议实现节点间的数据一致性。

共享集群数据库服务端

包含数据库实例、集群服务组件和共享存储管理的持久化文件。

YashanDB共享集群是一种单库多实例的多活集群,基于Shared-Disk的架构,各组件描述如下:

Instance:多个服务器上的数据库实例采用聚合内存技术,通过全局资源管理、全局缓存管理以及全局锁管理协同多实例对数据页和非数据类资源的访问,对外提供对等的、强一致的并发读写能力。

YCS:集群数据库高可用的核心部件,统一管理集群文件系统、数据库等资源,提供配置、启停、监控等能力,并在各种故障场景下提供仲裁服务,维护全局统一的拓扑状态。

YFS:承担集群文件系统管理职责,直接管理裸设备,并提供强一致的文件系统服务给数据库使用。

持久化文件

数据库的持久化文件,确保在掉电等异常关闭场景中数据库仍能启动并正常使用,主要包括:

控制文件:数据库最关键入口信息,保存数据库基础元数据以及持久化相关信息。

数据文件:保存所有系统表、用户表(HEAP表/TAC表/LSC表)以及undo等数据。

切片文件:保存LSC表的冷数据。

redo重做日志文件:保存redo日志,在recovery场景中用于修复脏页,在主备场景中用于向备库复制。

归档日志文件:保存归档的redo日志,在recovery场景中用于结合数据库的备份文件将数据库恢复到特定时间点。

集群配置数据:保存共享集群的管理配置信息,例如节点、资源等。

集群运行期数据:记录共享集群运行过程中的相关信息,尤其是在投票时记录相关过程数据。

内存区域

详情请查阅内存体系。

进程与线程

详情请查阅进程线程体系。

相关文章
【YashanDB知识库】如何排查YMP报错:”OCI版本为空或OCI的架构和本地系统的架构不符“
【YashanDB知识库】如何排查YMP报错:”OCI版本为空或OCI的架构和本地系统的架构不符“
【YashanDB知识库】如何排查YMP报错:”OCI版本为空或OCI的架构和本地系统的架构不符“
|
3月前
|
存储 缓存 分布式计算
高内存场景必读!阿里云r7/r9i/r8y/r8i实例架构、性能、价格多维度对比
阿里云针对高性能需求场景,一般会在活动中推出内存型r7、内存型r9i、内存型r8y和内存型r8i这几款内存型实例规格的云服务器。相比于活动内的经济型e和通用算力型u1等实例规格,这些内存型实例在性能上更为强劲,尤其适合对内存和计算能力有较高要求的应用场景。这些实例规格的云服务器在处理器与内存的配比上大多为1:8,但它们在处理器架构、存储性能、网络能力以及安全特性等方面各有千秋,因此适用场景也各不相同。本文将为大家详细介绍内存型r7、r9i、r8y、r8i实例的性能、适用场景的区别以及选择参考。
|
6月前
|
存储 弹性计算 运维
阿里云通用算力型U1实例怎么样?u1实例技术架构、场景适配与优惠价格参考
阿里云服务器ECS 通用算力型u1实例2核4G,5M固定带宽,80G ESSD Entry盘,企业用户专享优惠价格199元1年,很多用户关心这个款云服务器怎么样?阿里云通用算力型U1实例自推出以来,凭借独特的"均衡算力+智能调度"设计理念,在IaaS市场开辟出差异化的竞争赛道。本文将通过技术架构解析、典型场景适配分析、全生命周期成本测算三个维度,全面解构这款热门云服务器实例的核心价值,以供参考和选择。
|
6月前
|
SQL 存储 缓存
YashanDB 体系架构
YashanDB 体系架构
|
7月前
【YashanDB 知识库】如何排查 YMP 报错:”OCI 版本为空或 OCI 的架构和本地系统的架构不符“
**问题现象**:迁移预检查时,因OCI版本为空或架构不符报错。通过查看yasdts日志发现缺少libnsl.so.1依赖库。 **排查步骤**: 1. 查看日志确认缺少的依赖库。 2. 检查OCI客户端路径是否已加入LD_LIBRARY_PATH环境变量。 3. 使用`ldd`命令检查其他缺失的依赖库。 **解决方法**: 1. 下载并安装所需的动态库版本。 2. 若无法联网,查找本地是否有相应库。 3. 如本地有高版本库,创建软链接指向所需版本(如`ln -s /lib64/libnsl.so.2 libnsl.so.1`)。
|
Cloud Native Java 编译器
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
随着云计算技术的不断发展,云服务商们不断推出高性能、高可用的云服务器实例,以满足企业日益增长的计算需求。阿里云推出的倚天实例,凭借其基于ARM架构的倚天710处理器,提供了卓越的计算能力和能效比,特别适用于云原生、高性能计算等场景。然而,有的用户需要将传统基于x86平台的应用迁移到倚天实例上,本文将介绍如何将基于x86架构平台的应用迁移到阿里云倚天实例的服务器上,帮助开发者和企业用户顺利完成迁移工作,享受更高效、更经济的云服务。
226 13
将基于x86架构平台的应用迁移到阿里云倚天实例云服务器参考
|
NoSQL Redis 开发工具
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
Redis性能优化问题之检查 Redis 实例是否启用了透明大页机制,如何解决
|
存储 Serverless API
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
Serverless 架构实现弹幕场景问题之在initializer方法中初始化数据库实例如何解决
111 0
|
监控 负载均衡 Java
【阿里云云原生专栏】微服务架构在阿里云云原生平台上的应用实例与优化策略
【5月更文挑战第20天】本文介绍了在阿里云云原生平台实现微服务架构的步骤,包括基于Spring Cloud的Docker化部署、使用ACK部署微服务,以及优化策略:服务发现与负载均衡(借助Istio)和监控日志管理。通过这种方式,企业能提升应用的可扩展性、可维护性和敏捷性。
386 5
|
算法 计算机视觉 网络架构
CVPR 202:擅长处理复杂场景和语言表达,清华&博世提出全新实例分割网络架构MagNet
【5月更文挑战第10天】在CVPR 2024会议上,清华大学与博世团队推出MagNet,一种针对复杂场景和语言表达的实例分割网络。MagNet通过Mask Grounding辅助任务强化视觉-语言对应,缩小模态差距,并结合跨模态对齐损失与模块,提升RIS任务的准确性。在RefCOCO、RefCOCO+和G-Ref基准上取得显著优势,但对罕见表达和复杂场景的处理仍有待优化。[论文链接](https://arxiv.org/abs/2312.12198)
335 5