具备AI能力

105 阅读4分钟

具备AI能力

  • 参数自动调优

    在数据库场景中,不同类型的作业任务对于数据库的最优参数数值组合存在偏差。为了获得更好的运行性能,用户希望快速将数据库的参数调整到最优状态。人工调参的学习成本高且不具有实时性和广泛可用。通过机器学习方法自动调整数据库参数,有助于提高调参效率,降低正确调参成本。

    参数自动调优:参数调优服务支持离线与在线两种服务形式,支持多种算法,包括强化学习、全局搜索算法等。

    当模型处于训练阶段中,根据输入的数据库参数数值(其中包括数据库当前参数数值以及数据库当前性能参数数值)通过强化学习和启发式算法得到新的参数数值组合,数据库的参数调整由强化学习和启发式算法两个组成部分的输出结果混合得到,将模型的输出经过反归一化得到新的参数数值,将新的数值植入数据库并运行测试作业得到当前数值组合下数据库的性能表现,如执行时长、吞吐量等指标。最后将表现作为反馈给学习模型,往复迭代。

    当模型处于调优阶段中,将当前数据库的参数数值作为输入,其中包括数据库当前参数数值以及数据库当前性能参数数值。通过模型得到当前情况下的所能得到的最优参数调整方案。

    当模型处于推荐模式下,会直接根据用户当前Workload的特征进行秒级参数推荐。

  • 索引推荐

    支持单Query索引推荐与Workload级别索引推荐。在进行Workload级别索引推荐时,先根据AI算法,筛选出具有代表性的SQL语句。然后针对代表性的SQL语句,基于语句的语义信息和数据库的统计信息,生成最优的推荐索引。将所有语句的推荐索引作为候选索引集合,然后计算每条候选索引对workload的收益,推荐出收益最大的索引组合方案。

  • 时序预测与异常检测

    支持采集部署数据库宿主机上的特征信息,并将上述时序特征数据收集并存储起来。利用上述存储的数据进行时序预测,例如存储空间预测等。还支持根据上述数据进行潜在异常问题的发现, 能够先知先觉地发现可能出现的问题,并作出提前部署。

  • 其他自治运维服务

    支持全方位的数据库监控和异常检测功能,同时还能对系统中发生的慢SQL进行根因根因分析。

  • 支持DB4AI功能

    支持原生DB4AI引擎,利用数据库实现SQL语句驱动AI任务。

  • SQL执行时间预测

    在查询性能调优、业务负载分析等场景,用户经常需要对SQL的执行时间进行预测,目前数据库优化器主要基于代价模型,无法准确预测执行时间。该特性通过AI模型,能够对历史执行过的查询或相似查询进行时间预测,满足SQL执行时间预测要求。

    SQL执行时间预测:根据收集的历史性能数据进行编码和基于深度学习的训练及预测。

    历史数据收集由数据库内核进程完成,内核进程通过curl向python端AI引擎发送https请求来(1)配置机器学习模型、(2)发送训练数据、(3)触发模型训练、(4)请求训练过程监测服务端口、(5)加载用于训练的模型、(6)使用加载好的模型进行预测。数据的编码阶段在数据库中完成,保证出库数据已脱敏。模型的预测阶段需要在查询计划生成后对整个计划进行编码并写文件发给python端,python端tensorflow计算图只需要加载一次,可以进行高度并行化的批量预测。