达梦共享集群及 mpp 集群原理

共享存储数据库集群 (DMDSC)
   DM 共享存储数据库集群的英文全称 DM Data Shared Cluster,简称 (DMDSC)。DMDSC 允许多个数据库实例同时访问、操作同一数据库,具有高可用、高性能、负载均衡等特性。并支持故障自动切换和故障自动重加入,某一个数据库实例故障后,不会导致数据库服务无法提供。
  DMDSC 集群是一个多实例、单数据库的系统。多个数据库实例可以同时访问、修改同一个数据库的数据。用户可以登录集群中的任意一个数据库实例,获得完整的数据库服务。数据文件、控制文件在集群系统中只有一份,不论有几个节点,这些节点都平等地使用这些文件,这些文件保存在共享存储上,各个节点有自己独立的联机日志和归档日志。
   DMDSC 集群得以实现的重要基础就是共享存储。DM 支持的共享存储有两种:裸设备和 DMASM。这两种存储的区别在于后者在前者的基础上,部署并使用了 DMASM 文件系统。为了方便对裸设备上的磁盘或文件进行管理,推荐用户使用后者 (DMASM)。
  DMDSC 集群主要由数据库和数据库实例、共享存储、本地存储、通信网络、以及集群控制软件 DMCSS 组成。以部署了 DMASM 的 DMDSC 集群为例,展示 DMDSC 集群系统结构,如下图所示:
在这里插入图片描述

DMDSC 主要特点包括:
• 高可用性:只要集群中有一个活动节点,就能正常提供数据库服务。
• 高吞吐量:多个节点同时提供数据库服务,有效提升集群的整体事务处理能力。
• 负载均衡:用户的连接请求被平均分配到集群中的各个节点,确保各个节点的负载大致平衡。
DMDSC 使用的环境

软硬件环境环境介绍
主机(2台)内存:2 GB 以上;网卡:双网卡;提供内部网络和外部网络服务;主机用于部署数据库实例 dmserver、DMCSS、DMASMSVR。
共享存储两台主机可同时访问存储,可以划分为裸设备的磁盘。
操作系统Linux、Unix、Windows 等。
DM 数据库软件DM 8.0 及以上版本
其他 DM 软件dmserver、dminit、dmasmcmd、dmasmsvr、dmasmtool、dmcss、dmcssm 等;位于 DM 数据库安装目录 …/dmdbms/bin 文件夹内

DMDSC 实现原理
  DMDSC 是一个共享存储的数据库集群系统。多个数据库实例同时访问、修改同一个数据库,因此必然带来了全局并发问题。DMDSC 集群基于单节点数据库管理系统之上,改造了 Buffer 缓冲区、事务系统、封锁系统和日志系统等,来适应共享存储集群节点间的全局并发访问控制要求。同时,引入缓存交换技术,提升数据在节点间的传递效率。
DMCSS 介绍
  DMCSS (Dameng Cluster Synchronization Services) DM 集群同步服务,使用 DMASM 集群或 DMDSC 集群都必须要配置 DMCSS 服务。在 DMASM 集群或 DMDSC 集群中,每个节点都需要配置一个 DMCSS 服务。这些 DMCSS 服务自身也构成一个集群,DMCSS集群中负责监控、管理整个 DMASM 集群和 DMDSC 集群的节点称为控制节点 (controlnode),其他 DMCSS 节点称为普通节点 (normal node)。DMCSS 普通节点不参与 DMASM 集群和 DMDSC 集群管理,当 DMCSS 控制节点故障时,会从活动的普通节点中重新选取一个 DMCSS 控制节点。
  DMCSS 工作的基本原理是:在 Voting disk 中,为每个被监控对象 (dmasmsvr、dmserver、DMCSS) 分配一片独立的存储区域,被监控对象定时向 Voting Disk 写入信息(包括时间戳、状态、命令、以及命令执行结果等);DMCSS 控制节点定时从 Voting Disk 读取信息,检查被监控对象的状态变化,启动相应的处理流程;被监控对象只会被动的接收 DMCSS 控制节点命令,执行并响应。
  DMCSS 主要功能包括:写入心跳信息、选取 DMCSS 控制节点、选取 DMASM/DMDSC 控制节点、管理被监控对象的启动流程、集群状态监控、节点故障处理、节点重加入等,DMCSS 还可以接收并执DMCSSM 指令。
DMASM 介绍
  DMASM (DM Auto Storage Manager) 是一个专用的分布式文件系统,使用 DMASM 自动存储管理方案,可以帮助用户更加便捷地管理 DMDSC 集群的数据库文件。DMASM 的主要部件包括:提供存储服务的裸设备、dmasmsvr 服务器、dmasmapi 接口、初始化工具 dmasmcmd 和管理工具 dmasmtool 等。
  DMDSC 集群可以直接使用裸设备作为共享存储,存放数据库文件。但是,由于裸设备存在的一些功能限制,造成 DMDSC 集群在使用、维护上并不是那么灵活、方便。裸设备的使用限制如下:
• 不支持动态扩展文件大小;在创建数据文件时,就必须指定文件大小,并且文件无法动态扩展。
• 数据文件必须占用整个裸设备盘,造成空间浪费。
• 不支持类 Linux 的文件操作命令,使用不方便。
• 操作系统支持最大裸设备数目较小,无法创建足够的数据库文件。
为了克服裸设备的这些使用限制,DM 专门设计了一个分布式文件系统 DMASM,来管理裸设备的磁盘和文件。DMASM 提供了基本的数据文件访问接口,可以有效降低 DMDSC 共享存储的维护难度,DMASM 提供的主要功能包括:
•   分布式管理
支持多台机器并发访问 DMASM 磁盘和文件,提供全局并发控制。
•   磁盘组管理
支持创建和删除磁盘组,将裸设备格式化为 DMASM 格式,并由 dmasmsvr 统一管理;一个磁盘组可以包含一个或者多个 DMASM 磁盘;磁盘组支持在线增加 DMASM 磁盘,实现动态存储扩展。
•   文件管理
支持创建、删除、截断文件等功能;支持创建目录;支持动态扩展文件;文件可以存放在一个磁盘组的多个磁盘中,文件大小不再受限于单个磁盘大小。
•   完善、高效的访问接口
DMASM 文件系统将物理磁盘格式化后,变成可识别、可管理的 DMASM 磁盘,再通过DMASM 磁盘组将一个或者DMASM 磁盘整合成一个整体提供文件服务。

通过 dmasmapi 可以获得各种文件管理功能。
通用功能的管理工具
dmasmtool 提供一套类 Linux 的文件操作命令用于管理 DMASM 文件,降低用户学习、使用 DMASM 文件系统的难度。
DMASM 原理
为了帮助用户更好的理解、使用 DMASM,本小节从 DMASM 磁盘与文件管理、DMASM REDO 日志、簇映射表等方面介绍 DMASM 原理。
在这里插入图片描述

  DMASM 磁盘格式化以后,会逻辑划分为若干簇 (xtent),簇是管理 DMASM 磁盘的基本单位,DMASM 文件的最小分配单位也是簇。这些逻辑划分的簇根据其用途可以分为描述簇、inode 簇和数据簇。如下图所示:
在这里插入图片描述

创建、删除 DMASM 文件操作,在 DMASM 系统内部其实就是转换成修改、维护 inode AU 的具体动作。而扫描全局的 inode AU 链表就可以获取到磁盘组上所有的 DMASM 文件信息。
Mpp集群原理
系统架构
  当前主流的数据库系统架构有完全共享、共享存储、完全不共享和完全对等不共享几种。 其中完全共享体系如 SMP 服务器,局限于单节点服务器,通常价格比较昂贵,其扩展 性和性能受到相应的限制。 共享存储体系允许系统带有多个服务器实例,这些实例与共享存储设备相连。这种体系 可实现多机并行,保证系统的高可用性,但需要通过一个数据管道将所有 I/O 信息过滤到 共享存储子系统,对硬件的要求较高,且并非高性能解决方案。 与此相比,基于硬件的数据仓库平台一般采用完全无共享体系。在这种体系下,通讯功 能部署在一个高宽带网络互连体系上,用户通过一个主控制节点执行并行查询。该体系的一 个重要优势就是每个节点都有一个通往本地磁盘的独立通道,不但简化了体系,还提供良好 的扩展性。但主控节点的存在使得系统规模扩张时主控节点可能成为系统瓶颈,且主控节点 一旦发生故障这个系统将无法提供服务。 DM MPP 采用的完全对等无共享体系架构,结合了完全无共享体系的优点,在此基础上 又前进了一步,不采用增加主控制节点来协调所有并行处理的主从式方法,而是各个节点完 全对等,更进一步简化了体系的实现,也消除了系统可能存在的主节点瓶颈问题。 图 2.1 是这几种数据库系统架构的整体结构示意图。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
DM MPP 中的每一个 DM 数据库服务器实例作为一个执行节点,简称 EP。客户端可连接 任意一个 EP 节点进行操作,所有 EP 对客户来说都是对等的。 DM MPP 系统内每个 EP 只负责自身部分数据的读写,执行计划在所有 EP 并行执行, 能充分利用各 EP 的计算能力及发挥各 EP 独立存储的优势。数据只在必要时通过 DM 的高 速邮件 MAL 系统在 EP 间传递。当通信代价占整体执行代价的比例较小时,更能体现大规模 并行处理的优势,随着系统规模的扩大,并行支路越多,优势越明显
原理概述
在 DM MPP 中,数据根据用户指定的分布规则分布在不同的 EP 上。MPP 的核心在于对 用户请求的并行执行,其执行流程可简单描述如下: 1. 用户选择一个 EP 登录,此时该 EP 就是此用户的主 EP,集群中的其余 EP 都是此 用户的从 EP; 2. 主 EP 接受用户的 SQL 请求,并生成并行执行计划; 3. 主 EP 将计划打包后分发给其他从 EP; 4. 各 EP 并行执行; 5. 主 EP 收集各 EP(包括自己)的执行结果; 6. 主 EP 将执行结果汇总后返回给用户。 如图 2.3 所示。
在这里插入图片描述
系统特性
DM MPP 采用完全对等不共享架构,系统中各 EP 的功能完全对等,因此对于用户来说, MPP 系统的处理是完全透明的,用户任意登录 MPP 系统的的任一节点进行操作都可获得完 全的 MPP 支持。 使用 DM MPP 可获得以下功能特性支持:
• TB/PB 级数据分析 支持数据的并行装载和操作的并行执行,数据分布式存储在各 EP 中,能支持 TB/PB 级数据分析。
• 支持绝大部分单机功能 支持绝大部分的 DM 单机版功能,同时支持行、列存储,支持存储过程、触发器、索引、 分区表、多媒体数据类型等。
• 高性价比 无需额外配置特殊软、硬件,性价比超高。
• 高可靠性 DM MPP 与 DM 数据守护相结合,为 MPP 系统中的每个 EP 配置一个或多个实时备库, 在 EP 发生故障时其对应备库能迅速切换为主库继续提供服务,确保系统的高可用性。
• 支持超大型集群 支持最多 1024 个 EP,轻松组建超大型集群。

https://eco.dameng.com

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不能自已2024

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值