详解K-DB RAC集群下的锁机制管理(二) ——K-DB集群基本架构

简介:

数据库锁专门协调不同进程间的资源冲突,系统资源冲突的类型、频率、复杂度等决定了锁技术的发展,而资源冲突的情况又与数据库系统的基本架构高度相关。例如,在standby架构下,虽然以多节点集群运行,但是实际各个节点轮换对资源进行操作,资源冲突更多的体现为节点内进程或者是线程之间的冲突,相对简单,与之相应的锁机制也就简单。而K-RAC同时支持多个节点共同操作,由此带来的资源冲突问题远比其他架构更为复杂。因而,本文将先介绍K-DB的基本架构,由此引出K-DB锁的存储管理、构成以及锁同数据库映射关系的建立等。

基于共享磁盘的K-RAC

K-RAC是浪潮基于共享存储的集群技术。数据库实例节点存放数据库的执行文件和参数配置文件等。共享数据文件,日志文件,控制文件这些数据库的必备文件,此外还有集群控制文件(这点是区别于单机数据库),都存放在共享磁盘上。

 服务器的世界,没有神话

K-DB集群物理架构图

全局缓存融合

在RAC集群中,不仅磁盘共享,从逻辑上看,各个节点之间的内存也可看做是共享的。比如,当一个节点即将读取的数据已经在另一个节点的内存中时,该节点可以从另一个节点的内存中获取数据,避免了从磁盘中读取,减少I/O的消耗。这个技术就是数据库的缓存融合,这是K-DB 数据库RAC集群的技术核心和技术难点。

K-DB锁机制的构成

服务器的世界,没有神话

在设计锁机制的时候,应先设计好以下3个问题:

  1. Where。锁信息存放在什么地方更加合适,也就是当节点之间发生争用数据块的时候,都可以很快捷的访问到?
  2. What。锁中需要记录哪些信息?
  3. How。怎样来维护这个锁信息?

下图是K-DB共享存储集群的进程架构图。橙色的部分表示处理缓存融合的主要模块。

 服务器的世界,没有神话

K-DB 进程架构图

其中,

GLD全局锁目录存放着数据库用户锁信息;

Cluster Wait-lock Service 集群等待锁服务是用于提供全局锁管理的;

Cluster Cache Control集群数据缓存控制器,用于处理数据库中数据块的传输。

上述三个模块一起协调处理,实现了数据库集群的锁机制管理。

K-DB锁与相关的数据管理

K-DB在每一个节点都会划分出一部分内存与其他节点共享,组成share pool,GLD就是位于每一个节点的share pool 中,所有节点的GLD 汇总在一起构成完整的GLD。

介绍完了GLD之后,下一步就是让锁和相应的数据库建立可逆映射关系,这种映射关系的建立是通过为数据库指定master节点的方式实现的。每一个数据块会根据它的block address计算得出hash值,来对应一个master节点,在master 节点中记录该数据块的锁信息。

在如下图中3个节点的集群中,A,B,C三个节点中每一个节点的内存区域,都是GLD的一部分,3个内存区域组成在一起,构成了GLD所有的数据库,通过hash算法,对应的master节点平均分配到3个节点中。

服务器的世界,没有神话


原文发布时间为: 2016年7月29日

本文来自云栖社区合作伙伴至顶网,了解相关信息可以关注至顶网。


相关文章
|
2月前
|
SQL Java 数据库连接
Mybatis架构原理和机制,图文详解版,超详细!
MyBatis 是 Java 生态中非常著名的一款 ORM 框架,在一线互联网大厂中应用广泛,Mybatis已经成为了一个必会框架。本文详细解析了MyBatis的架构原理与机制,帮助读者全面提升对MyBatis的理解和应用能力。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
Mybatis架构原理和机制,图文详解版,超详细!
|
2月前
|
人工智能 云计算 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日~10日在江苏张家港召开的CCF ChinaNet(即中国网络大会)上,众多院士、教授和业界技术领袖齐聚一堂,畅谈网络未来的发展方向,聚焦智算集群网络的创新变革。
阿里云引领智算集群网络架构的新一轮变革
|
2月前
|
负载均衡 Dubbo 算法
集群容错架构设计
集群容错架构设计
35 1
集群容错架构设计
|
18天前
|
存储 负载均衡 监控
揭秘 Elasticsearch 集群架构,解锁大数据处理神器
Elasticsearch 是一个强大的分布式搜索和分析引擎,广泛应用于大数据处理、实时搜索和分析。本文深入探讨了 Elasticsearch 集群的架构和特性,包括高可用性和负载均衡,以及主节点、数据节点、协调节点和 Ingest 节点的角色和功能。
40 0
|
2月前
|
人工智能 运维 网络架构
阿里云引领智算集群网络架构的新一轮变革
11月8日至10日,CCF ChinaNet(中国网络大会)在江苏张家港召开,众多院士、教授和技术领袖共聚一堂,探讨网络未来发展方向。阿里云研发副总裁蔡德忠发表主题演讲,展望智算技术发展趋势,提出智算网络架构变革的新思路,发布高通量以太网协议和ENode+超节点系统规划,引起广泛关注。阿里云HPN7.0引领智算以太网生态蓬勃发展,成为业界标杆。未来,X10规模的智算集群将面临新的挑战,Ethernet将成为主流方案,推动Scale up与Scale out的融合架构,提升整体系统性能。
|
2月前
|
存储 缓存 NoSQL
【赵渝强老师】Memcached集群的架构
Memcached 是一个高性能的分布式内存对象缓存系统,通过在内存中维护一个巨大的 Hash 表来存储各种格式的数据,如图像、视频、文件及数据库检索结果等。它主要用于减轻数据库压力,提高网站系统的性能。Memcached 不支持数据持久化,因此仅作为缓存技术使用。其数据分布式存储由客户端应用程序实现,而非服务端。
【赵渝强老师】Memcached集群的架构
|
3月前
|
存储 资源调度 算法
操作系统的心脏:深入理解内核架构与机制####
【10月更文挑战第16天】 本文旨在揭开操作系统最神秘的面纱——内核,通过剖析其架构设计与关键机制,引领读者一窥究竟。在这篇探索之旅中,我们将深入浅出地讨论内核的基本构成、进程管理的智慧、内存分配的策略,以及那至关重要的系统调用接口,揭示它们是如何协同工作,支撑起现代计算机系统的高效运行。这既是一次技术的深潜,也是对“看不见的手”调控数字世界的深刻理解。 ####
68 3
|
2月前
|
调度 Docker 容器
【赵渝强老师】Docker Swarm集群的体系架构
Docker Swarm自1.12.0版本起集成至Docker引擎,无需单独安装。它内置服务发现功能,支持跨多服务器或宿主机创建容器,形成集群提供服务。相比之下,Docker Compose仅限于单个宿主机。Docker Swarm采用主从架构,Swarm Manager负责管理和调度集群中的容器资源,用户通过其接口发送指令,Swarm Node根据指令创建容器运行应用。
|
3月前
|
负载均衡 安全 调度
Docker Swarm集群架构
【10月更文挑战第8天】
102 1
|
3月前
|
消息中间件 分布式计算 Kafka
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
大数据-98 Spark 集群 Spark Streaming 基础概述 架构概念 执行流程 优缺点
55 0