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

274                                                        软件学报  2026  年第  37  卷第  1  期


                 监控器、HA    机制选择器和      HA  配置器. 运行时信息由运行时系统监控器及时反映在                RSA  上. 为了从多个   HA  机
                 制中选择合适的机制, 提出了一个分类并实现了一个选择器                    (但并不完善). HA   配置器是通过合并       RSA  和  HA  机
                 制选择两种模型实现的. 与现有工作相比, 该方法允许根据系统的运行时状态不断调整                            HA  机制同时系统运行时
                 的变化被不断地抽象、收集并反映在             RSA  上, 简化了  HA  信息的收集.
                  4.3   查询优化
                    商用大规模数据库系统具有网络延时高、传输代价高、计算开销高特点. 然而, 在查询优化领域, 目前数据库
                 的前沿研究多数只针对单个查询性能做优化, 而极少考虑整体负载平衡. 仅考虑单查询性能可能会带来数据库部
                 分节点计算、I/O    负载过高, 进而影响数据库可用性. 针对该问题, 可以提出兼顾系统负载平衡的智能查询优化器,
                 并以高可用性为约束进行多目标查询优化来解决上述问题.
                    现有智能查询优化器大多仅能优化单一查询, 当大规模查询发起时, 其无法兼顾系统负载的平衡, 间接增加了
                 数据库节点因负载过大而造成查询阻塞甚至宕机的可能; 针对这一痛点, 通过研究智能查询优化算法, 以低时延、
                 低传输代价、高可用性为约束设计基于强化学习的多目标查询优化, 在兼顾系统整体查询代价的同时, 通过平衡
                 系统负载减少单节点因过载而出现故障的频率, 进而减少                  RTO.
                  4.4   事 务
                    现有数据库主要是基于一致性协议构建分布式架构, 例如                   OceanBase 提出的基于   Paxos 的  2PC, MongoDB  基
                 于日志复制、集群协议选主的分布式架构, 但是上述方案在面对故障时选主或者节点切换时, 不可避免地存在故
                 障延迟、日志延迟、主从同步延迟导致事务中断, 恢复时间增加. 为了保证数据一致性, 部分数据库提供最大可用
                 模式, 由主机将日志同步到备机成功后再应答客户, 例如                 MySQL、Oracle 等, 但是这样引入     HA  仲裁组件会由于
                 备机故障或网络抖动导致失败, 影响可用性. 采用强同步复制方案的数据库是当备机数据完全同步后, 才由主机给
                 予应用事务应答保障一致性, 例如           TDSQL  的异步多线程强同步复制方案, 引入了线程池模型进行异步化改造可
                 以提高可用性. 但是, 等待备机应答的机制势必会导致性能损耗.

                  5   总 结

                    本文针对当下数据库高可用面临的挑战深入探讨了数据库高可用性的问题, 概述了现有的技术和解决方案,
                 包括分布式计算、内存计算及云数据库的应用. 通过对系统与网络、数据与计算以及应用服务这                                3  大层面的研究
                 现状的分类总结分析, 我们揭示了当前技术在确保高可用性方面的贡献与不足. 此外, 本文还从存储、参数配置、
                 查询优化和事务方面给出了技术建议. 本综述为未来的研究和实践提供了有价值的见解和建议, 期望能推动数据
                 库高可用技术的进一步发展.

                 References
                  [1]   Shuquan.  Top  20  software  &  cloud  quality  accidents  and  their  lessons  in  2022.  2023  (in  Chinese).  https://www.sohu.com/a/
                     635149128_453160
                  [2]   Thomas C. Typo blamed for Microsoft Azure DevOps outage in Brazil. 2023. https://https://www.theregister.com/2023/06/03/microsoft_
                     azure_outage_brazil/
                  [3]   Cai FF. Alibaba cloud suffers a sudden severe global outage, restored after 2.5 hours. 2023 (in Chinese). https://www.infoq.cn/article/
                     K5JfjZy6Qmc70YFPluVi
                  [4]   Marcus E, Stern H. Blueprints for High Availability. 2nd ed., Indianapolis: John Wiley & Sons, 2003.
                  [5]   Bailis P, Davidson A, Fekete A, Ghodsi A, Hellerstein JM, Stoica I. Highly available transactions: Virtues and limitations. Proc. of the
                     VLDB Endowment, 2013, 7(3): 181–192. [doi: 10.14778/2732232.2732237]
                  [6]   Zhu T, Guo JW, Zhou H, Zhou X, Zhou AY. Consistency and availability in distributed database systems. Ruan Jian Xue Bao/Journal of
                     Software, 2018, 29(1): 131–149 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5433.htm [doi: 10.13328/j.cnki.jos.
                     005433]
                  [7]   Mahajan P, Alvisi L, Dahlin M. Consistency, availability, and convergence. Technical Report, UTCS TR-11-22, Austin: University of
   272   273   274   275   276   277   278   279   280   281   282