mysql 查询用户最后登陆时间_【VLDB 2020】图嵌入|预测并发用户的查询时间

ec36590d009de877b78c4e4851702fbe.png

在数据库系统中,预测查询任务的执行表现对于满足服务等级协议(SLA)有非常重要的意义,可应用到如负载调度、参数调优、进程监控等多种优化任务。然而,现有的预测方法主要面向串行查询,不能高效的预测并行执行的任务表现。一个主要原因就是他们没有考虑并行执行的查询任务之间复杂的关联关系,如数据共享、读写冲突等。其次,一些方法基于数据库提供的查询计划进行表现预测,没有对目标任务和并行任务之间的潜在执行关系进行编码,导致在负载变化时预测精度变差。为了解决这些问题,本文提出一种基于图嵌入模型的表现预测方法,将并行用户的行为建模成图模型,并用深度图嵌入网络(GCN)快速预测执行时间、资源消耗等性能表现。

f805fbc03a8c3804433949f742805b0c.gif 2a0f9edbb03f143b43cfce7618580513.png

请问任务表现有哪些呢?为什么说预测任务表现对于数据库非常重要?

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png

任务表现主要指任务的执行时间,进一步包括起止时间、反馈时间、资源消耗等指标。预测表现有两方面的动机:1. 在表现劣化前优化数据库的执行方案;2. 需要云数据库满足服务质量协议(SLA)。

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png 33216c0adb7751ef4284ad4cd41e1df9.png 2a0f9edbb03f143b43cfce7618580513.png

请问为什么说这个问题从2011年到现在才被国良老师组解决?有哪些挑战?

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png

数据库三大顶会中,最近一篇相关论文发表于2011年VLDB [1],其通过在任务执行过程中收集IO指标预测执行时间。后面的方法基于单任务,遗留了较多棘手的问题,如:1. 执行过程中获得的统计信息有滞后性,且结果不准;2. 面向查询的方法[2,3]基于单条查询,没有对并行查询的关系进行有效编码,影响精度和适应能力。

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png 33216c0adb7751ef4284ad4cd41e1df9.png 2a0f9edbb03f143b43cfce7618580513.png

使用图嵌入方法预测任务执行时间相比于传统方法有什么优势吗?

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png

深度图嵌入方法[4,5,6]有三个核心优势:1. 原生处理图模型,不需要简化问题;2. 节点级别,提取多维度的本地子图,压缩成与目标相关的定长表示向量;3. 所有节点共享全局参数,避免局部最优。

9b0f1f7ddc7a4a1f8fb9ad7642b2bbe7.png 33216c0adb7751ef4284ad4cd41e1df9.png

原文连接:

http://dbgroup.cs.tsinghua.edu.cn/ligl/papers/vldb2020-concurrent.pdf

01

构建负载图模型

cf99f7d131c55ccdc1f1e797e3d4fa0e.png

构建负载图模型主要指从给定的并行查询中提取执行计划中的有用信息,并根据并行算子的执行关系,用节点矩阵和边矩阵表示负载图模型:

    ? 节点信息对应执行计划中的物理算子,包括优化器估计的执行代价,算子类型,谓词编码以及采样的结果特征(位图表示)。

    ? 节点间的边信息对应算子之间可能的关联关系,包括数据传递关系、潜在的数据共享关系、潜在的访问冲突关系以及潜在的资源竞争关系。如下图中的例子所示,四个并行的查询语句首先被解析成执行计划,然后我们从执行计划中提取物理算子的特征作为图节点,根据执行时间和算子特性在节点之间构建边,并初始化相应的权重。例如,v4和v5分别表示两个顺序扫描操作,它们之间存在资源竞争(有时间重叠)和数据共享(访问同一张关系表)两类关系。

02

基于图嵌入的表现预测模型

6e8d5a7f911ecb1ec48178f1e94e0235.png

在负载图上预测表现有两个挑战。一方面,表现相关的特征在图中稀疏分布,如何有效提取有用信息。另一方面,我们需要为每个节点估计表现,需要一种有效的节点级别的图处理方法。

    因此,我们首先设计深度图嵌入模型,将原始负载图中的高维结构化特征映射到与表现特性强相关的抽象空间中。如上图所示,深度图压缩网络通过堆叠图卷积层,首先提取每个节点上的k跳内邻居信息,然后利用非线性整流层(ReLU)进一步压缩节点特征。我们利用训练偏差计算的损失值更新网络参数W,从而根据目标学习网络结构的压缩策略。此外,我们发现节点的邻居矩阵维度较高(每一位对应一个二维的邻居矩阵),我们需要通过降低压缩后的矩阵H的维度来减小计算开销。因此,我们用利用切比雪夫的截断展开式对网络的权重矩阵W和邻居矩阵H进行近似[7]。切比雪夫多项式已经被证明可以有效地降低前向传播中的矩阵维度,从而节约压缩时间。

    其次,我们利用深度学习模型,根据每个节点的子图特征预测执行表现。图预测网络是一个三层的感知器模型,利用图嵌入网络输出的图压缩矩阵H自动推导每个算子节点对应的表现特征,包括输入层,隐藏层和输出层三部分。首先,输入层将图压缩矩阵H映射到方便处理的特征空间H’(特征放大);其次,隐藏层对H’进行特征抽取并输出一个抽象矩阵H’’;最后输出层在抽象矩阵H’’上进行表现预测并输出结果矩阵,每一行表示相应算子的预测的表现特征,如执行时间,CPU利用率,占用内存大小等。

03

动态图的更新与合并

5107b02c592b56323f997b197ff174d0.png

本表现预测模型应用到现实世界中的负载,仍然存在两方面的挑战。首先,实际负载是不断变化的,需要实时更新图模型;其次,实际负载规模可能非常大,需要通过恰当的节点合并减小网络规模。

    因此,我们首先根据现有的查询信息更新负载图上的节点和边特征。如上图所示,图更新模块先根据图上节点的结束时间更新或删除执行中或执行完毕的节点,然后添加新提交的算子节点和相应的边关系。主要有两种情况会触发负载图的更新:(1)累积执行完Top-K个节点。对于每个负载图,我们记录前K个最早执行完的节点,记作集合Φ,在它们全部执行完毕时,批量更新负载图,并更新集合Φ;(2)提交一个新查询。我们首先提取新查询中的每个物理算子,然后把每个算子作为负载图中的一个节点,添加它和同时间段内其他节点之间的边关系,并更新集合Φ。

    其次,我们进一步通过合并存在时间重叠的节点减小负载图的规模。如上图所示,图合并模块先根据每个节点的执行时间范围将存在时间重叠的节点进行聚类,然后通过最少完全连接子图(clique)划分在各个类内将没有边关系的节点,将这些节点压缩为一个合并节点。具体来说,第一步,我们根据时间重叠性质对负载图中的节点进行聚类,即相同类内任意一个节点都和至少一个节点存在时间重叠,不同类内任意两个节点都不存在时间重叠。为了实现聚类,我们首先根据开始时间对节点进行排序,然后选择第一个节点作为第一个类,依次遍历之后的节点vj。如果vj和最后一个类存在时间重叠,则将vj合并到该类,否则单独作为一个类(计算复杂度为O(|V|log(|V|)))。第二步,我们根据各个类内的边关系合并节点。对于任意一个类,我们把第一个节点作为合并节点,然后枚举其余节点。对于节点vk,如果vk和前面每一个合并节点都存在边关系,则单独作为一个合并节点,否则合并到已有的合并节点(计算复杂度为 O(|V^2|))。

实验结果

数据集

c33397b6af4058f0eff33bde12d7a175.png

性能对比

☀️ JOB测试集表现

ae5888e46febcf26673544640280063f.png

☀️ TPC-CC测试集表现

06c7570eee0839224cd870612adb8867.png

☀️ 学堂在线测试集表现

079b1ad441836bbb3d67140eac5de6a4.png 小结 本文介绍了一种基于图嵌入模型的并发表现预测方法,它首次将并行任务在数据库中的执行情况用图模型表示,结合深度图嵌入算法捕获结构信息,并利用神经网络将图特征映射到表现指标,实现较高的预测精度。 未来,我们可以从三个方面进一步完善本预测方法:

    ?  目前已有多种深度图嵌入方法被提出,如GAE、AGCN、Graph LSTM,需要进一步对比在表现预测问题上的性能;

    ?  目前节点特征依赖优化器估计的代价,存在较大误差[8,9]。未来可以结合概率学知识对数据分布进行近似;

    ?  构建端到端的数据库优化系统,为参数调优、数据分区等数据库关键问题提供表现反馈,帮助实现闭环优化。

部分参考文献:

[1] J. Duggan, U. C¸ etintemel, O. Papaemmanouil, and E. Upfal. Performance prediction for concurrent database workloads. In SIGMOD, pages 337–348, 2011.

[2] M. Akdere, U. C¸ etintemel, M. Riondato, E. Upfal, and S. B. Zdonik. Learning-based query performance modeling and prediction. In ICDE, pages 390–401, 2012.

[3] R. C. Marcus and O. Papaemmanouil. Plan-structured deep neural network models for query performance prediction. PVLDB, 12(11):1733–1746, 2019.

[4] Jie Zhou, Ganqu Cui, Zhengyan Zhang et al. Graph Neural Networks: A Review of Methods and Applications. CoRR abs/1812.08434 (2018).

[5] J. Bruna, W. Zaremba, A. Szlam, and Y. LeCun. Spectral networks and locally connected networks on graphs. In ICLR, 2014.

[6] T. N. Kipf and M. Welling. Semi-supervised classification with graph convolutional networks. In ICLR, 2017.

[7] J. A. Cadzow. Application of the L1 norm in signal processing. In NSIP, pages 15–18, 1999.

[8] H. Harmouch and F. Naumann. Cardinality estimation: An experimental survey. PVLDB, 11(4):499–512, 2017.

[9] J. Sun and G. Li. An end-to-end learning-based cost estimator. PVLDB, 13(3):307–319, 2019.

清华数据库致力于研究数据清洗、数据挖掘、数据可视化、时空数据、AI&DB联合优化、下一代数据库系统等技术,相关研究成果已经发表在SIGMOD、VLDB、ICDE、TKDE等顶级会议和期刊,详见李国良教授个人主页: 

http://dbgroup.cs.tsinghua.edu.cn/ligl/publications.html

1a3b5abccb20bab7be7fd77b54d742a9.gif
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值