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

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


                 法代表了最新研究方向. Neuroshard     [188] 系统直接将工作负载转化为神经超图, 通过多任务学习优化多个分区目标.
                 文献  [189] 将表结构和查询特征编码为状态向量, 使用深度强化学习进行分区决策. 这些方法虽然展现了强大的
                 自适应能力, 但在动态工作负载下的评估效率仍有提升空间.
                    (2) 垂直分区
                    垂直分区技术按列划分数据, 特别适合处理宽表和混合访问模式. GridFormation                  [190] 框架采用强化学习方法构
                 建了包含代理、环境和动作空间的完整分区决策系统, 支持在线自主调整. 文献                        [191] 则针对  JSON  数据开发了轻
                 量级内存关系数据库和专用垂直分区算法, 有效解决了半结构化数据的关系化支持问题. 值得注意的是, 现代垂直
                 分区算法已不再完全依赖工作负载特征, 而是结合数据属性本身进行智能划分. 深度强化学习框架的引入使得系
                 统能够自动学习不同分区方案的成本, 实现更优的权衡决策.
                    (3) 混合分区
                    混合分区技术综合了水平和垂直分区的优势, 为                HTAP  系统提供了统一解决方案. HYRISE        [192] 针对内存数据
                 库优化缓存性能, 通过精确的缓存命中预测模型计算最佳分区. H2O                   [193] 采用基于亲和度矩阵的惰性方法生成分区
                 策略, 其模块化设计能快速适应负载变化. Jigsaw           [194] 算法采用自上而下的方法, 先分别进行水平和垂直分区, 再按
                 访问模式相似性合并分区. Dalton       [195] 系统则通过强化学习构建轻量级分区算子, 利用历史分区经验快速适应新负
                 载. Grep [196] 采用图模型编码数据和查询特征, 通过图神经网络捕获数据相关性并智能选择分区键. Casper                     [197] 设计
                 了独特的工作负载驱动优化框架, 将分区问题转化为二进制整数优化问题. 这类混合方法不仅考虑了分区布局, 还
                 整合了更新策略和缓冲区管理, 为复杂工作负载提供了全面支持.
                  4.2   查询优化
                    查询优化是决定数据库响应用户请求效率的重要因素之一. 本文针对查询优化模块进行了标准化表述, 将其
                 核心流程   (如查询重写、执行计划生成与选择等) 归纳为统一的规范框架.
                    图  8  是智能数据库查询优化的标准化流程, 查询语句输入数据库后, 其首先被解析为初始的逻辑表达式然后
                 由查询优化器按照预先设定的查询重写规则优化该逻辑表达式. 得到新的逻辑表达式后, 传统查询优化器大多使
                 用动态规划枚举或者启发式算法生成不同的物理查询计划, 通过代价估算对比计划代价确定最终执行的物理计
                 划. 所以最终执行物理计划的性能依赖于代价估算的准确性和计划优化器探索计划空间的有效性. 查询规模估算
                 用于代价估算模型中, 以计算执行计划操作符的成本. 获取最终的物理计划后, 数据库计划执行器将按照计划优化
                 组件所产生的物理计划执行查询并将查询结果返回给用户. 如图                     8  所示, 智能数据库优化器利用历史查询负载或
                 者对数据特征建模来提高其输出最优执行计划的能力. 智能模型从数据库和负载相关信息中得到特征输入后, 通
                 过有监督或者无监督的方式完成模型训练. 根据模型不同的设计目的可以选择替换传统优化器中的查询重写组件、
                 规模估算组件、代价估算组件或者替换整个计划优化组件.


                                                初始               优化后的
                                               逻辑计划              逻辑计划
                      查询语句             查询解析             ① 查询重写
                                                                          ② 规模估算
                                                                                       执行计划
                                                                                              计划执行器
                      查询信息              查询特征                              ③ 代价估算
                     查询计划信息    特征提取     计划特征     模型输入   ①  ②  ③  ④
                                       数据分布特征
                    数据库数据信息           数据库模式特征                             ④ 计划优化
                    数据库模式信息           数据库统计特征             智能模型
                        …                 …
                                                  图 8 查询优化标准化架构

                  4.2.1    查询重写
                    查询重写是数据库查询处理的优化技术, 查询重写将用户或应用程序提交的查询语句转换成一个或多个在逻
                 辑上等价但在性能上更高效的形式. 查询重写的目的是在不改变查询结果的前提下, 提高查询执行的效率. 查询重
                 写是一个    NP  难问题, 传统的查询重写方法多采用基于规则或启发式算法生成重写规则顺序进行查询重写, 不同
                 的查询需要匹配不同的重写规则顺序以产生最佳的优化结果, 基于规则和启发式的算法往往导致次优的结果.
   355   356   357   358   359   360   361   362   363   364   365