Page 364 - 《软件学报》2026年第2期
P. 364

姬涛 等: AI 赋能的关系型数据库系统研究: 标准化、技术与挑战                                                843


                 个最小堆中. 然后, 它将从所有子状态中选出预测代价最小的状态, 作为下一个起始状态继续重复以上操作, 直到
                 得到最终执行计划. Balsa    [229] 在  Neo  的基础上进一步拓展, 在初始阶段使用简单的自定义代价函数初始化价值网
                 络, 这避免了具有灾难性代价的计划影响整体训练效率. 与                  Neo  类似, Balsa 使用预先学习的价值网络引导计划生
                 成. 不同的是, Balsa 每次都会存储预测代价最低的           k 个计划以备后续计划探索. LOGER         [230] 充分利用了专家经验,
                 不再像   Neo  或  Balsa 那样直接指定连接操作符, 而是限制操作符的选择, 这在一定程度上减少了动作空间. 在探索
                 策略方面, LOGER   结合了贪心搜索和波束搜索方法, 为每一步动作维护了两个集合包括利用集和探索集. 利用集
                 存储由价值网络估算出的多个最优计划, 而探索集存储上一步未被选中的计划以及从所有候选计划集中随机选取
                 的若干计划.
                    规则引导的查询优化方法充分利用了现有数据库管理系统的专业知识, 通过预设或生成的规则集合引导传统
                 优化器生成更优的候选计划集合. 这类方法利用历史查询负载训练计划执行时间的预测模型, 用来从候选计划集
                 合中选出最终执行计划. 相较于自下而上的方法, 这种方法在传统查询优化器的保证下训练效率更高. Bao                              [231] 通过
                 专家筛选出的规则集合引导传统查询优化器生成候选计划, Bao                   的每个规则集合包含一组操作符限制规则比如禁
                 用循环嵌套连接等. HybridQO     [232] 通过生成前几个表的连接顺序来引导查询优化器选择更好的计划, 然后使用蒙特
                 卡洛树方法筛选出置信度最高的前缀连接表, 并将其作为引导规则传递给传统查询优化器, 强制其按照所指定的
                 连接顺序生成查询计划, 计划中除了指定的连接顺序外, 其余部分将由查询优化器补充. 在                           Lero [233] 中, 候选计划是
                 利用启发式算法纠正传统优化器所生成的原始计划的节点基数估计值生成的, 然后其使用                              Learning-to-Rank  方法
                                                             [234]
                 两两比较候选计划代价并选择出最优执行计划. AutoSteer                则在  Bao  的基础上, 设计了启发式算法自主地探索规
                 则空间并生成合适的规则集合, 这弥补了             Bao  需要专家经验设计预设规则集合的缺点. FASTgres            [235] 也基于  Bao
                 的规则集合设定, 不同的是        FASTgres 选择直接根据输入的查询语句预测合适的引导规则, 再用引导规则让传统优
                 化器直接生成执行计划, 这可以减少查询的响应时间. Eraser              [236] 聚焦于增强现有方法的鲁棒性, Eraser 采用两阶段
                 策略来确定每个候选计划的预测准确性, 其中第                1  阶段定性过滤所有预期效果不佳的高风险计划, 第               2  阶段定量
                 评估剩余计划的预测质量.
                    除了以上两种方式外, Leon       [237] 尽可能地保留了传统优化器的专家知识, Leon          遵循传统优化器的计划生成流
                 程, 用一个由传统代价函数初始化的校准网络模型取代了传统代价模型, 还采用了另一个神经网络模型来帮助传
                 统优化器减少探索不必要的计划空间. 这两个网络模型有效地平衡了计划生成的效益. FOSS                            [238] 则基于强化学习
                 算法框架训练了一个计划生成器对传统优化器生成的计划逐步进行细粒度优化                           (包括交换两个表的连接顺序或更
                 换更合适的连接算子), 并训练了一个计划对比器用以从计划生成器所生成的候选计划中选择最终执行计划. 同时
                 为了提高计划生成器的训练效率, FOSS           还利用计划对比器和传统优化器设计了高效的模型模拟训练方法, 这种
                 方法可以通过与计划生成器的快速交互产生大量高质量经验样本用来训练模型.
                  4.3   查询执行
                    查询执行作为数据库系统的核心功能模块, 其核心任务是将优化后的查询计划转化为物理操作并生成最终结
                 果. 在智能数据库体系中, 查询执行已突破传统静态执行模式, 演变为包含动态反馈与自适应调节的闭环优化
                 系统.
                    如图  10  所示, 智能数据库查询执行流程由         5  个核心阶段构成: 物理算子生成阶段负责将逻辑查询计划映射为
                 可执行的物理操作序列, 这是执行引擎的初始化过程; 运行时监控阶段通过性能计数器与采样机制持续采集数据
                 分布特征、资源利用率等运行时指标, 为后续优化提供决策依据; 自适应查询处理阶段基于监控反馈动态重构执
                 行策略, 实现查询计划的热更新; 并发控制与调度阶段采用智能算法协调多任务间的资源竞争, 确保系统吞吐量与
                 响应时间的平衡; 一致性交付阶段通过事务管理机制保障结果集的正确性与可见性, 完成查询生命周期闭环. 这                                  5
                 个阶段形成的环形架构通过持续迭代优化, 使系统在动态负载下保持执行效率与资源利用率的平衡提升. 本文后
                 续将重点剖析自适应查询处理与并发控制与调度两个关键环节. 这两个阶段构成了智能数据库区别于传统系统的
                 核心技术特征, 前者通过在线学习实现执行策略的动态调优, 后者借助机器学习突破静态调度策略的局限性.
   359   360   361   362   363   364   365   366   367   368   369