带你认识DM 共享存储数据库集群

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 带你认识DM 共享存储数据库集群

一、共享存储集群介绍

DM Data Shared Cluster (DMDSC) 允许多个数据库实例同时访问和操作同一数据库,具备高可用、高性能和负载均衡特性,并支持故障自动切换和自动重加入。某个实例故障不会导致数据库服务中断。

DMDSC 是多实例、单数据库系统。多个实例可同时访问和修改同一个数据库。用户可登录任意实例,享受完整数据库服务。数据文件和控制文件在共享存储上只有一份,所有节点平等使用;各节点有独立的联机日志和归档日志,这些日志也需保存在共享存储上。

DMDSC 集群主要由数据库数据库实例共享存储DMASM DMASM 镜像本地存储、通信网络、集群控制软件 DMCSS、集群监视器 DMCSSM 组成。DMDSC 集群最多支持 8 个数据库实例节点。

两节点的 DMDSC 集群系统结构图如下:

DMDSC 主要特点包括

  • 高可用性:集群中只要有一个活动节点,数据库服务即可正常提供。当出现磁盘损坏或数据丢失时,可利用镜像副本继续服务或进行数据恢复。
  • 高吞吐量:多个节点同时提供数据库服务,显著提升集群的整体事务处理能力。
  • 负载均衡:通过服务名分配连接请求,确保各节点间的负载平衡;条带化技术保证数据均匀分布在不同磁盘上,实现数据负载均衡。

二、DMDSC 实现原理

DMDSC 是一个共享存储的数据库集群系统。多个数据库实例同时访问、修改同一个数据库,因此必然带来了全局并发问题。DMDSC 集群基于单节点数据库管理系统之上,改造了 Buffer 缓冲区、事务系统、封锁系统和日志系统等,来适应共享存储集群节点间的全局并发访问控制要求。同时,引入缓存交换技术,提升数据在节点间的传递效率。

(一)DMCSS 介绍

达梦集群同步服务(DMCSS)是 DMASM 集群或 DMDSC 集群的必要配置,每个节点都需配置 DMCSS 服务。这些 DMCSS 服务构成一个集群,其中负责监控和管理整个集群的称为控制节点(Control Node),其他为普通节点(Normal Node)。普通节点不参与管理,但控制节点故障时,会从普通节点中选出新的控制节点。

DMCSS 的基本原理是在 VOTE 磁盘(非镜像)或 DCRV 磁盘(镜像)中分配存储区域,被监控对象定时写入信息;控制节点定时读取这些信息,检查状态变化并启动相应处理流程。被监控对象被动接收命令并响应。

DMCSS 主要功能包括:写入心跳信息、选举控制节点、管理启动流程、监控集群状态、处理节点故障和节点重加入,并可接收执行 DMCSSM 指令。

(二)DMASM 介绍

DM 自动存储管理器(DMASM)是专用的分布式文件系统。直接使用块设备作为 DMDSC 的共享存储会因其功能限制导致使用和维护不便。为克服这些限制,DM 设计了 DMASM 来灵活管理块设备的磁盘和文件,为 DMDSC 提供完美的解决方案。

DMASM 提供了便捷的管理方案,其主要部件包括:块设备、DMASMSVR 服务器、DMASMAPI 接口、初始化工具 DMASMCMD 和管理工具 DMASMTOOL 等。

DMASM结构图如下:

(三)DMASM 镜像介绍

共享存储上的数据非常宝贵,为确保其安全性和高可用性,达梦提供了 DMASM 镜像功能。镜像是 DMASM 的重要功能,具备多副本和条带化特性。

多副本技术确保同一数据的多个副本分别写入不同磁盘,仅一个主副本对外提供服务,其余作为镜像副本。当主副本故障时,系统自动从镜像副本中挑选一个继续服务。条带化技术保证数据均匀分布在磁盘组内,实现负载均衡。

DMDSC 使用配置了镜像功能的 DMASM 管理块设备作为共享存储,当磁盘损坏或数据丢失时,可利用镜像副本继续提供服务或进行数据恢复。

DMASM 镜像结构图如下:

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
1月前
|
存储 关系型数据库 MySQL
MySQL——数据库备份上传到阿里云OSS存储
MySQL——数据库备份上传到阿里云OSS存储
70 0
|
3天前
|
存储 缓存 关系型数据库
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
在云原生存算分离架构下,多计算集群的实现从技术方案上看似乎并不存在过多难题。但从产品的角度而言,具备成熟易用的多计算集群能力且能运用于用户实际业务场景中,还有较多核心要点需要深度设计
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
|
6天前
|
存储 NoSQL 关系型数据库
可以存储文件的数据库有哪些?
可以存储文件的数据库有哪些?
15 6
|
2天前
|
存储 NoSQL 关系型数据库
可以存储文件的数据库有哪些?
可以存储文件的数据库有哪些?
20 0
|
30天前
|
关系型数据库 MySQL Serverless
在部署云数据库PolarDB MySQL版 Serverless集群的过程中问题点
在部署PolarDB MySQL Serverless过程中,常见问题包括配置误解、网络配置错误、资源未及时释放及压测不熟练。建议深入理解配置项,确保合理设置伸缩策略;明确业务需求,使PolarDB与现有服务同处一地域与VPC;利用提醒功能管理资源生命周期;按官方指南执行压测。新用户面临的学习曲线、资源管理自动化不足及成本控制难题,可通过增强文档友好性、引入智能成本管理与用户界面优化来改善。
47 1
|
14天前
|
存储 C# 关系型数据库
“云端融合:WPF应用无缝对接Azure与AWS——从Blob存储到RDS数据库,全面解析跨平台云服务集成的最佳实践”
【8月更文挑战第31天】本文探讨了如何将Windows Presentation Foundation(WPF)应用与Microsoft Azure和Amazon Web Services(AWS)两大主流云平台无缝集成。通过具体示例代码展示了如何利用Azure Blob Storage存储非结构化数据、Azure Cosmos DB进行分布式数据库操作;同时介绍了如何借助Amazon S3实现大规模数据存储及通过Amazon RDS简化数据库管理。这不仅提升了WPF应用的可扩展性和可用性,还降低了基础设施成本。
34 0
|
1月前
|
存储 数据库
如何在数据库中存储小数:FLOAT、DECIMAL还是BIGINT?
【8月更文挑战第7天】在数据库中存储小数时,需谨慎选择数据类型:FLOAT、DECIMAL 或 BIGINT。FLOAT 存储空间小,适于非关键性小数如温度;但精度有限,可能产生误差。DECIMAL 能精确表示小数,适合货币金额等需要高度准确性的场景,不过占用空间较大。BIGINT 用于整数,若存储小数需额外转换处理。根据精度需求及应用场景选择合适类型至关重要。
|
21天前
|
存储 算法 数据库
带你学习DM数据库的基本操作
带你学习DM数据库的基本操作
95 0
|
30天前
|
运维 监控 数据库
在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
【8月更文挑战第14天】在OceanBase数据库中,obd集群版本需在线升级4.3.1.0升级至4.3.2
40 0
|
1月前
|
存储 小程序 关系型数据库
原生小程序 获取手机号并进行存储到mysql数据库
原生小程序 获取手机号并进行存储到mysql数据库