DM 共享存储集群架构DSC讲解

这篇具有很好参考价值的文章主要介绍了DM 共享存储集群架构DSC讲解。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

达梦共享存储集群(DMDSC)整体架构如左图所示 涉及很多功能模块,为了方便理解我划分为一下几大组件

1、DmServer 服务        保证事务一致和MVCC的锁管理(GLS、LLS)         保证buffer快速同步的闩管理 (GBS、LBS)         回滚空间管理、缓存交换等

2、dmasmsvr        保证并发访问的分布式控制        磁盘组管理        文件管理        数据文件映射管理等

3、DMCSS集群同步服务        记录集群资源的DCR注册表        监控并且判断集群资源状态的Voting Disk        DMCSSM等

4、MAL 高速传输系统       DMSERVER和DMASMSVR之间信息传递

DM 共享存储集群架构DSC讲解

各个模块分工如下

1、DmServer 服务        直接相应客户请求,需要处理MVCC访问管理,保证客户的相应效率和并发读写功能

2、dmasmsvr        主要负责数据页和实际存储位置的映射,保证需要的数据页可以快速定位。 3、DMCSS集群同步服务 集群资源包括DMSERVER、DMASM等监控,在集群资源出现故障时,按照故障机制处理集群资源        

4、MAL 高速传输系统       DMSERVER和DMASMSVR之间信息传递

首先我们来介绍集群下的DMSERVER 有什么不同。

DMSERVER 相较于单机的DMSERVER,增加了节点间通讯以及节点间数据页项目项目协调的成本,为了 保证多个节点间不会发生版本冲突并且能够快速准确的处理节点故障,引入了一下几个新功能

1、锁管理     全局封锁服务(Global Locking Services,简称 GLS)     本地封锁服务(Local Locking  Services,简称 LLS)

2、闩管理     全局闩服务也称为全局缓冲区服务(Global Buffer Services),简称GBS      本地闩服务也称为本地缓冲区服务(Local Buffer Services),简称 LBS。

3、缓存交换     基于 GBS/LBS 服务                   将已缓存的数据页通过MAL系统在心跳线之间快速传递

4、重做日志管理     LSN递增但不能保证连续                

5、  回滚记录管理       不同节点公用同一个回滚表空间(ROLL)                    不同节点对应不同的回滚segments

首先我们来介绍一下锁管理,介绍锁管理之前首先要介绍一下DM的事务和锁机制

DM的物理页记录TID(事务ID)和RPTR(上一个版本的回滚记录) DM 采用事务锁即对TID上锁。可以通过 活动事务视图(V$TRX_VIEW 和 V$DSC_TRX_VIEW)判断事务可见性

 判断机制如下

TID=当前事务号可见

TID不再事务活动表,并且TID<NEXT_ID 可见

物理记录的 TID 包含在活动事务表中,或者TID>=NEXT_TID,物理记录不可见

在事务启动时(串行化),或者语句执行时(读提交),收集这一时刻所有节点上的活动事务。 由控制节点统一管理集群中所有节点的全局事务视图(Global Transaction View,简称GTV);与之对应的是每个节点维护一个本地事务视图(Local Transaction View,简称 LTV)

DM 共享存储集群架构DSC讲解 

闩管理

闩(Latch)是数据库管理系统的一种内部数据结构,通常用来协调、管理 Buffer缓冲区、字典缓存和数据库文件等资源的并发访问,维持时间极短。 包括

全局缓冲区服务(Global Buffer Services)协调节点间的 Latch封锁请求、以及 Latch 权限回收, 本地缓冲区服务(Local Buffer Services)根据用户请求,向 GBS 发起 Latch 封锁,或者根据GBS 请求,回收本地的 Latch 封锁

每一个节点上都部署一个 GBS 和一个 LBS GBS由DMDSC 集群中的所有节点共同管理由

buffer根据数据页划分,分配对应的GBS进行管理 DMDSC 集群中数据页的封锁流程产生一定变化,与单节点相比,增加了全局 Latch 封锁、释放两个步骤。并且,在获取全局 Latch 授权后,仍然需要进行正常的本地 Latch 封锁,避免节点内访问冲突

缓存交换是保证集群性能的一个重要机制。

节点间的数据页尽可能通过网络传递,避免 通过磁盘的写入、再读出方式在节点间传递数据, 缓存交换的实现基础是 GBS/LBS 服务 下面四个图介绍了四种常见的缓存交换场景

DM 共享存储集群架构DSC讲解

DM 共享存储集群架构DSC讲解

DM 共享存储集群架构DSC讲解

 DM 共享存储集群架构DSC讲解

 文章来源地址https://www.toymoban.com/news/detail-406618.html

 

 

DM 共享存储集群架构DSC讲解 

回滚管理 实现DMDSC 集群的多版本并发控制(MVCC) DMDSC 集群中只有一个回滚表空间,回滚记录保存在回滚页中,回滚页与保存用户记录的数据页一样,由 Buffer 系统管理 并通过缓存交换机制实现全局数据共享。 DMDSC 集群中为每个节点分配了一个单独的回滚段(Segment)。 DMDSC 集群故障重启时,控制节点会扫描所有节点的回滚段,收集未提交事务进行回滚,收集已提交事务进行 Purge 

 下面我们来介绍DMCSS集群。

DMCSS集群时集群的重要组件,担负着整个集群的监控和故障节点处理机制。

DM 共享存储集群架构DSC讲解

 

DM 共享存储集群架构DSC讲解

DM 共享存储集群架构DSC讲解 

DMASM 是DM引入的分布式文件系统,相较于裸设备有易于扩容,空间利用率高等特点

DMASM,用来管理裸设备/块设备的磁盘和文件。DMASM 提供了基本的数据文件访问接口,可以有效降低 DMDSC 共享存储的维护难度,

DMASM 提供的主要功能包括:

1. 分布式管理    支持多台机器并发访问 DMASM 磁盘和文件,提供全局并发控制。

2. 磁盘组管理 支持创建和删除磁盘组,将裸设备或块设备格式化为 DMASM 格式,并由 dmasmsvr 统 一管理;一个磁盘组可以包含一个或者多个DMASM磁盘;磁盘组支持在线增加DMASM磁盘, 实现动态存储扩展。

3. 文件管理 支持创建、删除、截断文件等功能;支持创建目录;支持动态扩展文件;文件可以存放在一个磁盘组的多个磁盘中,文件大小不再受限于单个磁盘大小。

4. 完善、高效的访问接口 通过 dmasmapi 可以获得各种文件管理功能。

5. 通用功能的管理工具 dmasmtool提供一套类Linux的文件操作命令用于管理DMASM文件,降低用户学习、使用 DMASM 文件系统的难度

DMASM 磁盘是指经过 dmasmcmd 工具格式化,可以被 dmasmsvr 识别的物理磁盘。一个裸设备或块设备只能格式化为一个 DMASM 磁盘,不支持分割使用。

磁盘组由一个或多个 DMASM 磁盘组成,是存储 DMASM 文件的载体;

一块 DMASM 磁盘只能属于一个磁盘组。DMASM 支持动态添加 DMASM 磁盘。DMDSC 集群中,一般建议将日志文件和数据文件保存到不同的磁盘组中。

DMASM 文件在 DMASM 磁盘组上创建的文件,称之为 DMASM 文件。一个 DMASM 文件只能保存在一DM8 共享存储集群个磁盘组中,但一个 DMASM 文件的数据可以物理存放在同一磁盘组的多个 DMASM 磁盘中。

簇(extent)簇是DMASM文件的最小分配单位,一个簇由物理上连续的一组AU构成。簇的大小为4,也就是说一个 DMASM 文件至少占用 4 个 AU,也就是 4M 的物理存储空间。

AU(Allocate Unit)DMASM 存储管理的最小单位,AU 的大小为 1M。DMASM 以 AU 为单位将磁盘划分为若干逻辑单元系统内部定义了一系列 AU 类型,包括:desc AU、inode AU、redo AU、和 data AU

DM 共享存储集群架构DSC讲解

DM 共享存储集群架构DSC讲解 

                                                                       DMASM技术指标

大小

说明

AU大小

1024*1024

一个AU占用1M存储空间

簇大小

4

一个簇包含4个物理上连续的AU

描述项大小

32

一个簇描述项占用32个字节的存储空间

描述AU管理的最大簇数目

16 * 1024

一个描述AU最多管理16384个簇

描述AU管理的最大AU

64 * 1024

一个描述AU最多可以管理6553 6AU

描述AU管理的最大磁盘空间

64G

一个描述AU最多可以管理64G磁盘空间

Inode项大小

512

一个DMASM文件描述项大小,每个DMASM文件/目录都对应着一个文件描述项目

Inode AU可管理的最大文件数

2046

一个Inode AU最多可以管理2046个文件

DMASM文件最小尺寸

4M

每个DMASM文件最少包含一个簇

DMASM文件最大尺寸

4PB

一个DMASM文件最多可以包含4294967295AU,每个AU1M,理论上单个DMASM文件的最大尺寸是4PB

一个用户连接可同时打开的DMASM文件数

65536

一个用户连接,最多打开65536DMASM文件

DMASM文件数上限

8388607

一个磁盘组,最多可以创建8388607DMASM文件

磁盘组个数上限

124

最多可创建124个磁盘组

10M共享内存大小能管理的磁盘大小

约 600G

每个簇描述项大概占用64byte内存空间,每个簇描述项 对应4M磁盘空间,通过计算10M / 64 * 4M = 655G655G左右的磁盘,使用10M大小的共享内存能保证使用 过程中簇描述项不被淘汰

 

 

 

到了这里,关于DM 共享存储集群架构DSC讲解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • 【DM】达梦数据库与MySQL适配

    【DM】达梦数据库与MySQL适配

    新手直接看达梦入门技术文档即可 1、介绍 达梦数据库管理系统是达梦公司推出的具有完全自主知识产权的高性能数据库管理系统,简称DM,它具有如下特点: 通用性、高性能、高可用、跨平台、高可扩展 2、与MySQL的区别 (1)创建表的时候,不支持在列的后面直接加 comme

    2024年02月14日
    浏览(13)
  • 达梦数据库(dm8)导出sql文件

    达梦数据库(dm8)导出sql文件

    1.新建迁移工程 2.右键进行新建迁移 3.选择DM== SQL 后进行下一步 4.输入口令后继续下一步 5.定义脚本文件可选择自己新建的sql空文件,编码使用UTF-8 选择自己要导出的模式 7.选择导出的表 使用反选可以进行全选 8.点击完成进行迁移 也可以使用其他方式进行导出,如DM管理工具

    2024年02月11日
    浏览(11)
  • 达梦数据库(DM8)常用SQL学习

    达梦数据库(DM8)常用SQL学习

    达梦产品手册 从输出结果看出,用户状态 account_status 为 open,输出的时间为用户的创建时间。 注意:windows系统在DM管理工具中使用该命令无法完成用户切换,直接断开登录后重新连接,更换登录用户即可。 通过触发器脚本实现 解析 UPDATE_TIME_CUSTOM_NAME:触发名称 DEV: 模式名

    2024年02月01日
    浏览(10)
  • SAN共享存储架构

    SAN共享存储架构

    近年在高性能专用存储网络需求的驱使下,许多SAN存储系统应用于高性能计算网络系统、大型网站系统、非线性编辑系统等网络系统中,存储设备与计算机主机系统之间一对一的关系,被可供多个计算机主机共享读写同一个存储设备的关系所取代。但是为了确保大量客户端主

    2024年02月13日
    浏览(10)
  • 开发 | JAVA连接达梦数据库(DM8)

    开发 | JAVA连接达梦数据库(DM8)

    本文参考文献 https://eco.dameng.com/docs/zh-cn/start/java-development.html https://eco.dameng.com/docs/zh-cn/app-dev/index.html 本文通过以下方式实现Java程序与DM8数据库的交互 使用JDBC接口(不用框架,最简单) 使用MyBatis框架 使用Spring框架 使用SpringBoot Jdbc 框架 Java的软件开发工具包(SDK) JDK(Ja

    2024年02月07日
    浏览(18)
  • dmfldr-快速装载-载入(DM8:达梦数据库)

    DM 提供了快速装载工具:dmfldr; 通过使用快速装载工具能够把按照一定格式排序的文本数据以简单、快速、高效的方式载入到 DM 数据库中,或把 DM 数据库中的数据按照一定格式载出到文本文件中。 dmfldr 在一台机器上启动即可,独立完成快速装载任务,简单高效。 其中,表

    2024年02月06日
    浏览(15)
  • DM8:达梦数据库开启SQL日志sqllog

    DM8:达梦数据库开启SQL日志sqllog

    在使用数据库过程中,有时候想要查看数据库执行的SQL日志,由于V$SESSIONS 系统视图默认保留10000条,不满足需求,可以配置开启SQLLOG; 登陆达梦数据库管理工具或 disql 执行命令 开启后注意观察数据库log目录的dmsql开头的日志文件,是否达到256MB后正常切换,达到20个日志文件

    2024年02月10日
    浏览(47)
  • springboot使用达梦数据库(DM8)整合MybatisPlus

    springboot使用达梦数据库(DM8)整合MybatisPlus

    在idea中开发spring boot项目,用到的数据库是达梦数据库,想要使用 MybatisPlus 自动生成实体类和服务,并且通过 MybatisPlus 完成一些简单的数据库CRUD ps:这里的 MybatisPlus 版本必须要是3.0以上 2.1、pom ps:其中需要将达梦数据库的依赖添加到指定目录下,不然达梦的依赖无法生效

    2024年02月16日
    浏览(13)
  • 数据库应用:kylin 部署 达梦数据库DM8

    数据库应用:kylin 部署 达梦数据库DM8

    目录   一、实验 1.环境 2.部署前规划 3.部署达梦数据库DM8 4.创建数据库及数据库事例管理 5.达梦数据库的基本操作 二、问题 1.xhost命令报错 2.执行安装程序DMInstall.bin 报错 3.解压安装程序报错 4.安装程序找不到文件 5.图像化界面打不开 6.安装内存太小 7.打开图形化界面报错

    2024年02月19日
    浏览(18)
  • 【Database-02】达梦数据库 - DM Manager管理工具安装

    【Database-02】达梦数据库 - DM Manager管理工具安装

    DM Manager是达梦数据库自带的图形化界面管理工具,在安装达梦数据库的时候就会自动安装。 Linux环境,默认安装路径为:达梦安装目录/tool/manager,如果Linux是安装GUI,那么就可以直接启动使用。 实际大部分使用过程中,是在windows环境另外再安装一个达梦数据库客户端。 从达

    2024年02月15日
    浏览(10)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包