Page 268 - 《软件学报》2026年第1期
P. 268

向清平 等: 分布式数据库高可用研究进展                                                             265


                 性能; 对于数据库系统来说, RDMA         同样可以提高数据库系统各个模块的性能, 包括存储引擎、并发控制、事务
                 处理和查询执行等. 通过减少数据传输的延迟和                CPU  负载, RDMA  使得数据库系统能够更快速地处理事务和查
                 询, 减少了等待时间和系统因处理时间过长发生死锁、资源竞争或超时错误的可能性, 从而提高系统的可用性和
                 可靠性  [34] .


                                                 表 1 不同的网络拓扑的特点

                  拓扑结构                特点                        优势                        不足
                                                                               当电缆发生故障时, 整个网络都会
                           通过单根电缆连接所有计算机和网            成本低; 需要的电缆少; 适用于小        发生故障; 当网络流量很大或添加
                  总线型拓扑
                           络设备; 沿着一个方向传输数据            型网络; 易于扩展                更多节点时, 网络性能会下降; 电缆
                                                                               长度有限; 传输速度慢于其他结构
                                                                               添加或删除计算机节点可能扰乱网
                                                      网络传输不会因节点多或流量高
                  环形拓扑     计算机系统以环形结构相互连接                                      络活动; 一台计算机节点出现故障
                                                      而受到影响; 易于扩展; 成本低
                                                                               会影响整个网络
                                                      当计算机节点少和网络流量低时           安装和使用成本高; 当中央集线器
                           用电缆将所有计算系统连接到单个
                  星形拓扑                                性能很好; 易于升级集线器; 易于        发生故障时整个网络将停止工作;
                           集线器; 该单个集线器作为中心节点
                                                      排除故障; 易于修改和设置            整个系统性能取决于集线器
                                                      每根电缆都可以传输自己的数据
                           所有节点相互连接; 系统结构稳健;                                   难于安装和配置; 布线成本高且需
                  网状拓扑                                负载; 结构稳健性好; 故障诊断容
                           易于诊断故障                                              要大量布线
                                                      易; 提供隐私和安全
                                                      是总线拓扑和星型拓扑的扩展;           布线成本高; 多个节点维护困难; 当
                           结构中包含根节点, 其他节点连接到
                  树形拓扑                                易于扩展节点; 易于管理和维护; 中央集线器发生故障时整个网络都
                           根节点; 易于管理和错误检测
                                                      易于检测错误                   会发生故障
                  混合拓扑     2个或2个以上的拓扑结构的组合            可靠、有效、可扩展、灵活             设计复杂、成本高

                  2.2   数据与计算
                    本节主要从存储与冗余备份、事务和负载均衡方面展开讨论. 对于存储与数据备份层面, 本文分析数据库系
                 统可能遇到的灾难和问题并列举一些容灾方法技术. 对于数据层面, 本文主要从基础理论、事务调度、确定性数
                 据库系统这    3  个方面展开讨论. 对于负载均衡, 本文主要介绍云环境中的一些负载均衡算法及其应用.
                  2.2.1    存储与冗余备份
                    在大数据时代, 随着数据量的增长, 用户对云服务的需求也随之增加, 云服务提供商需要在数据涌入的情况下
                 维持系统可用性. 复制可以在云计算中确保跨服务器的数据可访问性、安全性和可用性, 但过多的副本会增加存
                 储成本, 而重复数据删除可能会损害对于云服务至关重要的可用性和可靠性. 文献                          [35] 尝试在重复数据删除和复
                 制之间取得平衡, 在不增加过多费用的情况下实现高效、高可靠的存储系统. 其提出名为                            FASTEN  的新型云存储
                 数据分散方案, 用于平衡“重复数据删除”和“复制”, 包括容错子集和服务器评级算法, 前者组织数据块以获得最大
                 的容错能力, 后者则根据用户定义的冗余选择最佳服务器.
                    在大规模系统中, 如部署上千个节点遍布全球的多数据中心, 硬件故障和网络中断不再罕见, 而是成为两个主
                 要故障源. 对于微信这样的大规模系统, 其存储系统除了需要满足大数据的                      3V  特性  (容量  (volume)、速度  (velocity)、
                 多样性   (variety)) 之外, 高可用性也是存储服务需要重点考虑的. 可用性对于用户体验至关重要, 微信中的大多数
                 应  用  程  序  都  要  求  延  迟  开  销  低  于  2 0   m  s ,   因  此  ,   微  信  团  队  为  支  持  微  信  综  合  业  务  开  发  了  高  可  用  性  存  储  系  统
                 PaxosStore [36] . 它在存储层采用组合设计, 针对不同存储模型构建多个存储引擎, 将基于                Paxos 的分布式共识协议
                 提取为底层多模型存储引擎通用访问的中间件, 同时                 PaxosStore 的无租约  Paxos 实现有利于快速故障转移, 而不
                 会导致系统服务停机.
                    随着云计算和大数据应用的普及, 传统文件系统在处理大规模数据和高性能需求方面面临挑战. PolarFS                              [37] 利
                 用新兴的硬件和最先进的优化技术, 例如操作系统旁路和零拷贝, 使其具有与                        SSD  上的本地文件系统相当的延迟,
                 通过开发一种新的共识协议          ParallelRaft, PolarFS  在不牺牲存储语义一致性的情况下放松了        Raft 严格的顺序写入
   263   264   265   266   267   268   269   270   271   272   273