Page 341 - 《软件学报》2026年第2期
P. 341
820 软件学报 2026 年第 37 卷第 2 期
例优化技术: 部分物化视图和复制数据布局. 部分物化视图是建立比传统的物化视图更加细化的物化视图方法, 复
制数据布局与数据分区类似将实例优化数据布局的思想和表复制相结合. 同时, SageDB 还针对上述两种算法引入了
一种针对数据库数据和工作负载特点的全局优化方法, 这种方法能够优化数据库全局而非单个数据库组件. SageDB
包含了以下 3 个设计原则: 1) 避免软件回归 (software regression). 新的组件避免对数据库产生任何负面影响. 2) 自
动优化. SageDB 希望用户可以以最少的操作得到最优的性能. 3) 避免干扰. SageDB 系统地考虑数据库各个组件
之间的干扰和影响, 避免了组件之间的负面影响. 除此之外, SageDB 还包含了许多智能组件, 比如学习索引、计划
优化等.
1.2 NoisePage
ModelBot2 (MB2) 是 [5] NoisePage 针对数据库管理系统难以部署和管理的问题, 提出的自治数据库管理系统方
法. MB2 用人工智能的方法提升自治数据库管理系统的性能以及减少并发执行期间的干扰, 使得数据库管理系统
的规划组件能够推断出新操作的预期影响. 与 SageDB 截然不同, MB2 的核心理念在于解构数据库管理系统
(DBMS) 的内核架构, 将其转化为独立的操作单元. 随后, 对这些独立的单元进行单独的建模和编程, 并以此来预
测 DBMS 的当前状态和执行成本. 在线推理过程中, DBMS 结合这些组件模型预测系统状态和工作负载性能. 为
了支持多线程和并发环境, MB2 将上述模型的输出定义为一组可测量的性能指标来估计操作组件之间的干扰. 除
此之外, MB2 还设计了一种有利于训练自治数据库管理系统的数据生成和训练方法使得 MB2 训练操作组件的模
型独立于工作负载和数据集.
1.3 OpenGauss
OpenGauss 构建了自治的数据库框架, 面向 DBA 提供了自动化的运维工具和面向数据库内核集成了多种智
[6]
能数据库组件, 提升了数据库的自我管理能力. 其中, OpenGauss 面向 DBA 提供数据库管理和部署工具, 包括参数
调优和诊断、索引推荐、慢查询检测和分析、负载趋势预测和数据库异常检测等工具. 面向数据库内核集成了查
询重写、基数估计和计划优化. 除此之外, OpenGauss 为了方便部署和管理学习模型, 设计了有效的数据管理和模
型训练平台. 同时, OpenGauss 还支持验证学习模型的有效性. 对此 OpenGauss 引入原生 AI 算子, 简化操作流程,
充分利用数据库优化器、执行器的优化与执行能力, 获得高性能的数据库内模型训练能力.
1.4 NeurDB
[7]
NeurDB 是一个由人工智能驱动的自主数据库系统, 旨在解决传统 DBMS 在面对动态数据和负载变化时的
局限性. 首先, NeurDB 能够适应数据和负载的动态变化, 确保 DBMS 在动态环境中保持高可用. 为了应对数据和
负载的变化, NeurDB 采用了增量更新的策略, 当检测到数据或者负载的变化时, 只对模型的部分进行微调, 以减少
微调的成本使得模型快速适应变化. 微调后的模型会被记录到模型库中以根据需要快速切换到新的模型. 第二,
NeurDB 提供了自主的系统优化和智能的数据库分析功能, 减少了用户的操作负担. 通过引入学习型的并发控制算
法和查询优化器, NeurDB 能够自动调整系统行为以适应不断变化的数据和负载, 从而提高了系统的整体性能和可
靠性. 最后, NeurDB 扩展了 SQL 语法, 引入了 PREDICT 关键字, 使用户能够轻松提交复杂的 AI 分析任务.
1.5 其他智能数据库
[8]
除了上述智能数据库系统外, 许多传统的商用数据库也集成了智能方法. Oracle 提出了智能数据库 Oracle
autonomous database, 该数据库能够进行自动化数据库维护任务 (如自动升级和调优) 从而提升数据库效率和安全
[9]
性. Azure database 集成自动调优功能, Azure 能够使用内置的机器学习模型自动调整索引来优化查询性能.
Amazon Aurora [10] 直接集成了机器学习功能, Aurora [11] 提供了 SQL 接口来调用机器学习模型, 从而简化应用调用
机器学习模型的过程. 与 Aurora 类似的 Google Cloud 提出了智能组件 BigQuery ML, BigQuery ML 提供了无需将
数据移出 BigQuery 就可以直接在数据仓库中创建和运行机器学习模型的功能. SAP HANA [12] 提供了一系列智能
功能, 包括智能工作负载管理、即用型的人工智能服务以及智能代码开发等, 这些功能共同促进了数据库的高效
运行和维护.

