1. 引言
查询性能预测对于数据库系统至关重要,它能帮助满足服务级别协议(SLAs),并提升事务调度、参数调整和进度监控等应用的效率。传统的性能预测方法多针对单一查询设计,无法有效处理并发查询的性能预测问题。
2. 问题背景
现有的并发查询性能预测方法存在以下问题:
- 无法捕捉并发查询之间的数据共享和资源竞争等相关性。
- 忽略了查询执行过程中的资源冲突。
- 缺乏动态工作负载的处理能力,无法适应查询的频繁变化。
3. 提出GPredictor 系统
GPredictor 是一个基于图嵌入技术的性能预测系统,专为并发和动态工作负载设计。系统架构如图所示,包含以下主要模块:
- Workload2Graph:将查询工作负载转换为图模型,提取运算符特徵和相关性。
- Performance Predictor:使用图嵌入和深度学习模型进行性能预测。
- Graph Optimizer:优化图模型,动态更新和压缩图结构以提高预测效率。
4.实现细节
下图是GPredictor 较为详细的实现方法:
解释
- Workload Graph(工作负载图)
- 这部分展示了如何将查询计划转换为图模型,顶点(Vertex)表示查询中的操作符,边(Edge)表示操作符之间的相关性。
- Network Input(网络输入)
- 包括顶点矩阵(Vertex Matrix, V)和边矩阵(Edge Matrix, E),这些矩阵作为网络的输入,表示图的结构和特徵。
- Graph Embedding Network(图嵌入网络)
- 这部分网络包含多层图层(Graph Layer),每层通过加权聚合和激活函数(如 ReLU)来处理顶点和边的特徵,将每个顶点嵌入为向量表示。
- Dropout 层被用来防止过拟合。
- Graph Prediction Network(图预测网络)
- 使用三层感知器来预测查询性能,包括输入层、隐藏层和输出层。
- 最终输出每个操作符的预测性能指标,如启动时间和执行时间。
5. 主要贡献
- 图嵌入模型:首次提出基于图嵌入技术的并发查询性能预测系统,捕捉查询之间的複杂关联性。
- 工作负载图模型:构建反映查询运算符特徵和相关性的图模型,包括数据共享、资源竞争等。
- 图嵌入和预测:使用图嵌入方法学习性能相关特徵,并通过深度学习模型预测查询性能。
- 动态适应:提出图压缩算法,减少图大小,降低预测开销,提高预测效率。
- 实验验证:在多个工作负载和环境下进行实验,证明 GPredictor 的高精度和优越性能。
6. 实验与结果
下图展示了 GPredictor 与三种最先进的方法(BAL、DL、TLSTMCost)在三个不同併发级别(10、50、100)下的性能比较,分别从预测误差、预测延迟和训练时间三个方面进行分析:
实验结果显示,GPredictor 相比现有方法在以下方面有显着提升:
- 预测精度:在不同的数据集和场景中,GPredictor 展现了高精度的查询性能预测能力。
- 预测效率:动态更新和图压缩技术使得 GPredictor 能够快速响应查询变化,降低预测延迟。
- 资源利用:有效地捕捉和管理资源竞争,提高了系统的资源利用率和查询处理效率。
7. 结论
GPredictor 提供了一个创新且高效的并发查询性能预测解决方案,利用图嵌入技术和动态优化方法,显着提升了查询性能预测的准确性和效率。系统通过图结构模型编码查询特徵,并使用深度学习模型进行预测,同时支持动态工作负载和图压缩算法,确保其适应性和可扩展性。
实验结果表明,GPredictor 在准确性和效率方面均优于现有的最先进方法。其准确预测查询执行时间及处理动态工作负载的能力,使其成为数据库管理和优化的强大工具,具有广泛的应用前景和实际价值。
总之,GPredictor 不仅树立了查询性能预测的新标准,还为先进的数据库管理和优化开启了新的可能性。其创新方法和显着效果突显了其在该领域的广泛应用潜力和重大影响。
论文地址:https://dl.acm.org/doi/abs/10.14778/3397230.3397238