数据库共享存储和集群

发布时间:2026/5/29 2:41:21

数据库共享存储和集群 数据库共享存储是只有一份数据文件吗数据库共享存储的核心特征就是物理上只有一份数据文件。在共享存储架构的数据库集群中所有的计算节点服务器都通过网络连接到同一套底层的共享存储设备如 SAN 存储。这意味着1核心文件唯一数据库最核心的文件包括数据文件、控制文件等在共享存储上只保存一份。2多节点并发访问集群中的所有数据库实例节点都可以平等地读取和写入这同一份物理数据。为了让你更全面地理解这种架构这里有几个关键点需要补充1、日志文件的特殊情况虽然数据文件是绝对唯一的但部分数据库集群例如达梦 DMDSC在设计时允许每个节点拥有自己独立的联机日志或归档日志。不过这些日志通常也建议存放在共享存储上或者即使放在本地其底层的核心业务数据依然严格保持单份。2、与“主备复制”架构的本质区别这是共享存储最容易混淆的地方。传统的“主备高可用”架构是在两台服务器上各自存一份完整的数据副本通过不断的日志传输来同步数据而共享存储是从根本上消除了“数据副本”因为大家操作的都是同一块磁盘上的同一份数据因此天然保证了数据的强一致性不会出现主备之间数据延迟的问题。3、内存缓存是多份的“只有一份数据文件”指的是物理磁盘上的持久化数据。在实际运行时为了提升性能每个数据库节点都会有自己独立的内存缓冲区Buffer Cache。当某个节点修改了数据它会通过高速内部网络实时通知其他节点的内存进行协同更新确保大家读到的都是最新的数据最后再统一将变更刷入那份唯一的物理文件中。打个比方共享存储就像是一个多人共用的中央档案室整个公司集群只有这一个档案室里面的原始档案数据文件只有一份不存在复印分发到各个部门的情况。多个员工数据库节点可以随时进入这个档案室去查阅或修改同一份档案。虽然档案原件只有一份但每个员工在自己的办公桌上内存可能会有正在处理的草稿他们之间会互相通气保证最终归档的内容是准确且一致的。多节点并发访问共享存储和单节点访问共享存储有什么区别多节点并发访问共享存储与单节点访问最本质的区别在于从“单人独享”变成了“多人协作”。这不仅仅是增加了几台服务器那么简单它带来了一系列架构上的根本性变化1、性能瓶颈的转移从计算层转向存储I/O单节点访问性能瓶颈通常在于这台服务器本身的 CPU、内存或本地硬盘速度。只要升级这台机器的硬件纵向扩展性能就能提升。多节点并发访问所有的计算节点都通过光纤或高速网络去读写同一份共享存储。当多个节点同时发起大量的读写请求时共享存储的 I/O 带宽和延迟就会成为整个系统的最大瓶颈。这就好比原本只有一个人开车单节点路很通畅现在变成了几十辆车多节点同时要挤过同一个收费站共享存储收费站的处理能力就成了决定整体速度的关键。2、核心技术挑战必须引入复杂的“缓存协同”机制这是两者在技术实现上最大的鸿沟。单节点访问数据库只需要管理自己内存里的数据缓存Buffer Cache。数据怎么改、什么时候写入磁盘完全由这一个节点说了算非常简单。多节点并发访问每个节点都有自己独立的内存缓存。如果节点 A 修改了某一行数据并缓存在自己的内存里而节点 B 此时也要读取这一行数据它该怎么知道这份数据已经被改过了为了解决这个问题多节点架构必须引入一套极其复杂的缓存协同引擎Cache Coordination Engine。它就像一个实时交通指挥中心当某个节点修改数据时必须立刻通过高速内部网络通知其他所有节点“我这边的这份数据过期了请你们释放本地缓存或来我这里拿最新版本”。如果没有这套机制就会出现严重的数据不一致问题。3、资源竞争与锁管理的复杂度剧增单节点访问数据库内核自己就能轻松搞定行级锁、表级锁保证事务不冲突。多节点并发访问节点 A 正在修改某张表节点 B 也想修改同一张表这时候谁先谁后系统必须在所有节点之上建立一套全局锁管理服务Global Lock Service。这需要跨节点的复杂协调任何一个网络抖动或锁冲突处理不当都会导致整体性能的急剧下降甚至死锁。4、风险点的集中存储成为绝对的核心命门单节点访问如果服务器坏了业务中断如果硬盘坏了数据可能丢失。风险相对分散。多节点并发访问虽然计算节点坏了一两个没关系其他节点可以秒级接管业务实现高可用但底层的共享存储成为了绝对的“单点故障”核心。一旦这套共享存储设备本身发生物理损坏或瘫痪整个集群的所有节点都会瞬间失去数据访问能力导致全线业务停摆。因此这种架构对底层共享存储设备的可靠性要求极高通常需要双活、RAID等多重保护。为了让你更直观地对比可以参考下表维度单节点访问共享存储多节点并发访问共享存储性能瓶颈单机的 CPU / 内存 / 磁盘共享存储的 I/O 带宽与延迟数据一致性自身内存与磁盘同步即可需跨节点缓存协同防止脏读锁管理单机内部锁简单高效需全局锁服务跨节点协调复杂核心风险单机硬件故障共享存储本身成为单点故障适用场景普通业务系统、开发测试环境金融/政务等核心交易系统高可用多活总结来说单节点访问是“单打独斗”简单直接但能力有上限多节点并发访问则是“团队作战”通过牺牲架构的简单性引入缓存协同、全局锁等复杂机制换取了极高的业务连续性和计算能力的横向扩展但也让底层的共享存储承担了前所未有的压力和风险。多节点架构如何应对存储I/O瓶颈多节点架构在享受计算能力横向扩展的同时确实极易引发共享存储的 I/O 拥堵。为了应对这一瓶颈现代分布式与集群架构主要从网络传输协议、数据分布策略、I/O路径优化以及硬件介质升级这四个核心维度来“破局”1、升级网络传输协议引入 RDMA传统的 TCP/IP 网络在处理海量数据并发时CPU 需要频繁参与数据的拷贝和协议处理这会消耗大量算力并增加延迟。RDMA远程直接内存访问技术它允许一台服务器的内存直接与另一台服务器的内存进行数据交换完全绕过了 CPU 和操作系统的内核干预。这就像为数据传输修建了一条“高速公路”实现了零拷贝和极低延迟。效果采用基于 RDMA 的传输协议如 RoCEv2可以大幅提升带宽利用率提升30%以上将存储网络的 IOPS 性能提升至百万级别有效缓解多节点并发带来的网络 I/O 压力。2、优化数据分布策略全局智能均衡如果多个节点同时读写存储中的同一块区域就会形成“热点”导致部分磁盘或控制器过载而其他资源却在闲置。去中心化与哈希分发先进的存储架构会将数据打散通过智能算法如根据数据地址 LBA 计算 Hash 值将 I/O 请求均匀地分发到集群中所有的控制器、CPU 核心vNode以及每一块物理硬盘上。效果这种全局负载均衡确保了所有节点的网卡、CPU 和磁盘性能都能被“榨干”避免了单点拥塞使得整个存储集群的聚合带宽随着节点的增加而线性增长。3、精简 I/O 路径软件层面的“瘦身”在多节点虚拟化或云环境中数据从应用发出到底层落盘往往需要经过多层软件的转发和处理每一步都会带来延迟。用户态直通与异步 I/O通过采用用户态直通存储技术如 Vhost-user可以减少虚拟机在“用户态”和“内核态”之间反复切换的开销同时结合异步 I/O 编程框架如 io_uring能够批量提交 I/O 请求大幅降低系统调用的次数。效果构建极简的端到端 I/O 路径消除了数据中转的损耗显著降低了单次 I/O 的响应时间让多节点的并发请求能被更快速地处理。4、升级底层介质与架构全闪存与分层存储除了软性优化硬件介质的革命也是解决 I/O 瓶颈的根本手段。全闪存与 NVMe用高性能的 NVMe SSD 替代传统的机械硬盘HDD。一块 NVMe 磁盘即可提供几十万甚至上百万的 IOPS彻底改变了存储的性能量级。智能分层存储并非所有数据都需要极致速度。系统可以将高频访问的“热数据”自动放在极速的全闪存层而将低频的“冷数据”归档到大容量 HDD 层。这样既保证了核心业务的高并发 I/O 需求又兼顾了整体成本。为了让你更直观地了解这些优化手段可以参考下表优化维度传统痛点解决方案核心价值网络传输TCP协议CPU开销大、延迟高RDMA (RoCEv2)零拷贝、绕过CPU带宽与IOPS倍增数据分布局部热点导致单盘/单控过载全局智能均衡 / Hash分发流量均匀打散充分利用所有硬件资源I/O 路径软硬件层层转发系统调用繁琐用户态直通 / 异步I/O减少上下文切换大幅降低响应延迟硬件介质机械硬盘随机读写性能极差全闪存 (NVMe) 智能分层物理层面突破性能天花板冷热分离总结来说多节点架构应对存储 I/O 瓶颈本质上就是通过更快的路RDMA、更均匀的货智能均衡、更少的关卡I/O路径优化以及更强的仓库全闪存来确保成百上千个计算节点能够顺畅、高效地并发读写数据。DM DSC如何保证不丢数据DM DSC达梦数据共享集群之所以能实现金融级的高可用并保证“不丢数据”即 RPO0主要依靠的是底层存储的多副本保护、全局统一的日志同步机制以及高效的故障自动切换体系这三大核心防线。具体来说它通过以下几个层面来确保数据的绝对安全1、底层存储保护DMASM 镜像多副本在传统的单机数据库中如果硬盘损坏数据就可能丢失。而在 DMDSC 架构中底层的共享存储由达梦自主研发的DMASM自动存储管理器进行管理。多副本机制DMASM 提供了类似 RAID 1 的镜像功能。当数据写入共享存储时系统会自动将同一份数据生成多个副本并分别写入到不同的物理磁盘中。故障自愈平时只有一个主副本对外提供服务。一旦某个磁盘发生物理损坏或数据丢失系统会立刻无缝切换到其他正常的镜像副本继续提供服务并且可以利用剩余的副本自动恢复受损的数据。这从根本上保证了即使底层硬件出现故障核心数据文件依然完好无损。2、全局日志协同强一致的事务保障DMDSC 是一个“多实例、单数据库”的系统多个节点同时读写同一份数据。为了保证事务不丢失且全局一致它在日志管理上做了特殊设计REDO 日志实时同步在多节点并发修改数据时DMDSC 集群的控制节点会负责收集所有节点的 REDO重做日志并严格按照各节点修改数据页的先后顺序进行处理和同步。缓存融合技术引入了高效的缓存交换技术提升数据在不同节点内存之间的传递效率确保任何一个节点提交的事务都能被全局感知并持久化。只要事务成功提交其对应的日志就已经安全落盘即使下一秒整个节点宕机数据也不会丢失。3、秒级故障切换RPO0 的高可用架构除了防止物理损坏DMDSC 还能应对服务器宕机等极端情况无感接管集群中的 DMCSS集群同步服务会实时监控各个节点的健康状态。一旦某个数据库实例发生故障集群会立刻感知并在秒级RTO 10秒内将业务自动切换到其他存活的节点上。零数据丢失 (RPO0)由于所有节点操作的都是同一份受多副本保护的共享存储且日志是实时同步的因此在故障切换的过程中不需要进行复杂的数据追赶或合并能够完美保障切换前后的数据零丢失。为了让你更直观地理解可以参考下表防护维度核心技术如何保证不丢数据物理存储层DMASM 镜像多副本数据同时写入多块物理磁盘单盘损坏不影响数据完整性事务逻辑层全局 REDO 日志协同严格管控多节点日志顺序与落盘确保已提交事务绝对安全高可用架构DMCSS 故障秒级切换节点故障时自动漂移至存活节点实现 RPO0 的业务连续性总结来说DM DSC 通过在底层把数据“多抄几份存好”在逻辑层把操作记录“严格排队存死”再加上顶层的“极速备用接管”从而实现了企业级核心业务对数据零丢失的严苛要求。

相关新闻