暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

ICDE 2023 | DBAugur: 一种基于对抗性的多样化工作负载预测系统

时空实验室 2023-10-09
130
随着应用程序和数据库配置数量的增加,趋势预测的准确性与高效性变得越来越重要。目前的预测主要根据历史工作负载,在工作负载趋势发生变化时无法给出准确的答案,并且没有考虑其他的关键因素。本次为大家带来数据库领域顶级会议ICDE 2023上的论文:《DBAugur: An Adversarial-based Trend Forecasting System for Diversified Workloads》。
1、背景
随着数据规模,应用程序以及各种系统配置的增加,数据管理系统变得越来越复杂,如何调优成为了研究热点。优化性能最重要的一步是准确预测工作负载趋势,传统的方式通常依赖于数据库管理人员收集的历史工作负载,并根据经验优化配置,这不适用于多样化的工作负载。
有一些基于机器学习的方法,通过经典的学习模型预测模板查询的出现频率。但这些方法面临着几个限制。第一,查询出现频率不能很好地代表负载趋势。第二,这些方法会使用一些算法对查询进行聚类,但即使相似的查询在真实场景中也可能包含噪声。第三,基本的机器学习模型主要捕捉的是负载间的短期关系,这不适用于长期的负载预测。第四,这些方法往往利用的是单一的模型,不能很好满足多样的负载预测。
想要高效准确地预测现实世界的工作负载,主要面临了三个挑战。第一,如何将相似的工作负载组合起来以降低预测开销?第二,如何从复杂的工作负载中学习并预测未来?第三,如何将预测模型推广到多样化的工作负载?
为解决这些问题,文章提出了一个使用生成式对抗网络,基于学习的强大工作量预测系统。在该模型中采用两种策略来减少预测开销,针对于特征工作负载,文章开发了WFGAN,它能够进行对抗性学习,提高学习效率和预测精度。此外,文章还提出了一种时间敏感的集成算法来适用于多样化的工作负载模式。
2、相关定义
2.1数据库工作负载
数据库工作负载表示为W=(Q,R),其中QR分别表示查询和资源利用。给定工作负载中的一组查询Q,这些查询是并发执行的,它们消耗一些系统资源R来获得所需的数据。
2.2预测时域
预测时域指模型预测未来的距离。给定当前的工作负载(x1,x2,...,xT)RT,其中xi表示在时间i的负载,预测时域H则表示模型在时间T+H可以预测的工作负载。
2.3预测区间
预测区间表示两个相邻的工作负载值之间的时间间隔。预测间隔I等于时间i-1i之间的差。
3、模型总览
DBAugur是一个端到端工作负载预测框架,可以用作数据库管理人员的外部辅助工具,也可以用作数据库优化的内核模块。如图一所示,DBAugur由三个主要部分组成,包括工作负载处理器,集合预测器与对抗训练。
图一 系统框架
在工作负载处理器中,SQL2Template引入了基于模板的等价性检查技术,它能够将原始查询日志转化为各种SQL模板。通过使用这些SQL模板,能够有效将类似工作负载分组,减少预测开销。为实现这一目标,文章提出了一种DTW(动态时间规整)方法。同时,在轨迹簇中构建了Ball-Tree作为高效的存储结构。
预测模型是DBAugur的核心部分,它使用分好组的工作负载作为训练数据,并提供预测结果。文章首先提出了一个基于对抗性的模型,称为WFGAN。在WFGAN中,生成器学习工作负载模式的潜在分布,鉴别器帮助捕获时变预测中的相关性和突发性。之后,文章提出了一种时间敏感的集成算法,它通过动态分配不同的权重因子来融合多个预测模型(WFGAN,TCN,MLP)
为更好地训练预测模型,文章使用对抗性训练来训练生成式预测模型WFGAN。其目的是确保预测模型模拟了工作负载的所有重要特征。
4、方法介绍
4.1基于DTW的工作负载处理器
由于目前的方法不能有效地将相似的查询以及时间偏移等噪声合并,在该部分,文章提出的方法首先从数据库日志中提取工作负载信息,再提出了一种稳定的距离计算方法来度量任意两个工作负载之间的相似性,最后基于结果进行聚类。
4.1.1工作负载提取
首先将查询和资源利用从原始日志中提取出来。对于查询有两个观察结果,第一是可以根据SQL语句的执行时间戳生成所有查询语句的负载,第二是由于SQL语句具有相似的格式,可以将语句组合为单个查询模板,减少预测开销。对于资源利用,可以从运行时间数据中统计提取。在这些处理后,初始查询和初始资源利用信息被转换为按时间戳排序的少量负载。
4.1.2工作负载的相似性度量
由于负载的数量很大,为每一个工作负载训练一个模型是不可行的,将相似的工作负载分组成集群很有必要。在对工作负载进行聚类的时候,常使用欧几里得或者余弦距离来计算两个序列之间的距离,但这往往不准确。文章提出了一种更好的算法DTW来解决这个问题。算法步骤如算法一所示
算法一DTW算法
算法的主要思想是利用动态规划,通过扭曲具有一定约束的时间维度来找到两个负载之间的最佳对齐,如69行所示。第10行为负载时间最佳对齐的距离。窗口w能够限制搜索空间提高效率,同时还采用了LB_keogh算法,将复杂度降到线性时间。
4.1.3工作负载聚类
文章基于DB-SCAN提出了一种称为下降器的在线工作负载聚类算法。给定一组工作负载W,一个相似性阈值ρ和一个相似性度量函数。下降器首先在当前的工作负载上构建一个Ball-Tree,它会将负载划分为一组嵌套的超球体,在维数非常大的情况下,它的效率很高。在聚类开始时,下降器遍历每一个负载轨迹,并通过Ball-Tree迅速找到半径ρ下的邻居。如果相邻的负载轨迹大于最小值,则该负载轨迹被认定为核心点。下降器跟随核心点构建一个新的集群,相邻的轨迹也会成为这个集群的一部分。同时,下降器可以在线聚类,可以根据新的环境进行分裂与创建集群。
在集群之后,大部分负载将通过少量集群表征,这对于效率的提升是很有效的。同时,在聚类过程中,文章还关注了比例问题,减小了各个集群的影响。
4.2预测模型
为提高预测性能,文章提出了第一个基于对抗的模型WFGAN。以往的模型只优化单个目标,而WFGAN在对抗训练过程中直接建模负载的潜在分布,可消除误差累积问题。在鉴别器的监督和批评下,WFGAN能够通过神经网络构建更加充分的非线性映射,能够捕获长期工作负载模式之间的相关性和突发性。在训练和推理阶段,鉴别器能够充分利用工作负载信息来正则化并指导生成器进行自适应和精确的预测。文章还进一步提出了时间敏感的集成算法,确保在各个场景下的准确性与鲁棒性。
4.2.1 WFGAN的工作负载预测
WFGAN的框架如图二所示
图二WFGAN模型架构
GAN需要在生成器G与鉴别器D之间进行最小最大博弈。为准确表征数据库负载,应该同时利用查询与资源利用数据。因此,首先将查询W(Q)与资源利用W(R)合并为单个工作负载集合W。之后,使用多任务学习MTL来联合学习两个任务。具体来说,输入层接收查询与资源利用两个训练样本,输出层有两个输出单元,之间的深层网络参数将单独优化。通过这种方式,这些任务将更鲁棒与通用。
为处理生成器不可控的输出,模型利用一种改进的GAN,称为条件GAN,它使用外部数据作为条件窗口来提高模型的性能,不会从噪声空间中采样数据。在早期阶段,生成器会生成随机数据,但在GD的持续对抗训练中,D会引导G 生成更精确的工作负载。
真实和预测的工作负载将分别输入到鉴别器中。鉴别器的目标是尽量判断输入的负载是否真实。D 将输出一个概率值,表示数据真实的可能性。总的来说,生成器倾向于生成假数据来欺骗鉴别器,D的输出概率可以通过反向传播算法来训练生成器。最后,D能够识别真实负载与生成负载之间的微小差别,进行准确预测。
GD的内部结构采用类似RNN的神经网络。WFGAN采用一种改进的RNN,称为LSTM(长短期记忆)。为充分利用历史知识,模型引入了时间注意力机制。对于最终的输出,模型增加了一个注意力层。对于生成器,预测的负载总结为
鉴别器的输出总结为
4.2.2 WFGAN的对抗性训练
WFGAN采用对抗训练来进行优化,鉴别器将作为定制的损失函数来驱动生成器的训练,它的职责是区分真实和预测的负载。在D寻找最大限度区分真实与预测之间的概率的同时,生成器也使用最大的概率欺骗鉴别器。WFGAN的目标函数如下所示:
确定目标函数后,可以通过梯度下降法联合学习GD 的网络参数。算法二介绍了WFGAN的对抗训练。
算法二WFGAN的对抗训练
4.2.3多样化负载预测
在处理各种复杂场景时,需要考虑到短期预测,长期预测和复杂预测的特点,为了满足这些要求,文章进一步开发了集成MLPTCNWFGAN的集成算法。MLP(多层感知机)是一种全连接前馈神经网络,适用于短期预测;TCN(时间卷积网络)具有良好的全局视野,适用于长期预测;WFGAN擅长对突发性进行建模,适用于复杂场景。在这种情况下,文章有效融合三种模型,使得预测模块获得了更高的预测能力。
假设是时刻t的预测工作负载,i=1,2,3分别表示三种模型。对于第i个预测模型,使用表示预测误差,根据误差分配各个模型的权重。但静态的et(i)无法对时间高敏感。对于这个问题,文章引入了一个带有衰减因子δ的时变预测距离。设e(i)=(e1(i),e2(i),...,et(i)),预测距离为,它具有时间敏感性与鲁棒性。对预测距离进行归一化,可得到每个模型随时间t的时变权重。
5、实验
5.1实验设置
实验使用了两个真实的工作负载数据,一个是BusTrackerTrace,另一个是Alibaba Cluster Trace。实验选取Python3Keras实现了预测框架,并将Tensorflow2.0作为后端。在基线的选取上,DBAugur将与最先进和最经典的模型进行比较,包括LRARIMAMLPLSTMTCNQB5000
5.2预测准确性
实验使用均方误差MSE来量化预测精度,实验结果如图三所示,横轴表示预测时域。
图三 预测准确度实验结果
可以看出,在时域比较小的时候,所有模型没有显著差异。但随着时域的增大,模型之间的差距开始显现。WFGAN可以通过对抗性学习来拟合数据分布,具有强大的生成能力和注意力机制,能够很好的处理相关性和突发性,这使得它在阿里簇中取得了很好的预测精度。实验证明了DBAugue在简单与复杂的负载下均有良好的表现。文章中对于预测时域的实验则说明了如果预测时域过大会导致预测能力恶化,而DBAugur在预测时域为12小时内表现优秀。
在计算资源方面,WFGAN需要更长的时间进行训练,但这种成本在其精度的表现下是可以接受的,同时它并不占用更大的内存空间。而在集成方法的评估中,如文章提出的时间敏感的集成算法,动态集成方法在短期和长期的预测时域都优于固定方法。
实验还进行了案例研究,分别是指标的选取与数据区域迁移。在指标选取案例中,静态策略,即根据历史选择索引,在前期表现好,但后期自动策略,即利用预测进行指数推荐,优于静态策略。
6、结论
文章提出了DBAugur,一个基于对抗的趋势预测系统,旨在预测不同工作负载的趋势。为减少负载历史数量,DBAugur提出了一种基于DTW的在线聚类算法。同时,文章开发了利用GAN的生成能力来预测数据库负载的WFGAN。为进一步捕获多样化的工作负载模式,提出了一种融合WFGANTCNMLP的时间敏感集成算法。在两个真实数据集上的实验证明模型的高效性和有效性。此外,两个案例研究表明,DBAugue可以有效地促进DBMS的管理。         
-End-
本文作者
周敏欣
重庆大学计算机科学与技术专业(卓越)三年级在读学生,重庆大学START团队成员。主要研究方向:时空数据挖掘


重庆大学时空实验室(Spatio-Temporal Art Lab,简称Start Lab),旨在发挥企业和高校的优势,深入探索时空数据收集、存储、管理、挖掘、可视化相关技术,并积极推进学术成果在产业界的落地!年度有2~3名研究生名额,欢迎计算机、GIS等相关专业的学生报考!

文章转载自时空实验室,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论