Sibyl: Forecasting Time-Evolving Query Workloads

Hanxian Huang, Tarique Siddiqui, Rana Alotaibi, Carlo Curino, Jyoti Leeka +4 more
1/8/2024
cs.DBcs.LG

No confident code implementation found for this paper.

Abstract

Database systems often rely on historical query traces to perform workload-based performance tuning. However, real production workloads are time-evolving, making historical queries ineffective for optimizing future workloads. To address this challenge, we propose SIBYL, an end-to-end machine learning-based framework that accurately forecasts a sequence of future queries, with the entire query statements, in various prediction windows. Drawing insights from real-workloads, we propose template-based featurization techniques and develop a stacked-LSTM with an encoder-decoder architecture for accurate forecasting of query workloads. We also develop techniques to improve forecasting accuracy over large prediction windows and achieve high scalability over large workloads with high variability in arrival rates of queries. Finally, we propose techniques to handle workload drifts. Our evaluation on four real workloads demonstrates that SIBYL can forecast workloads with an $87.3\%$ median F1 score, and can result in $1.7\times$ and $1.3\times$ performance improvement when applied to materialized view selection and index selection applications, respectively.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. Any repos shown below are weak matches — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{huang2024sibyl,
  title  = {Sibyl: Forecasting Time-Evolving Query Workloads},
  author = {Hanxian Huang and Tarique Siddiqui and Rana Alotaibi and Carlo Curino and Jyoti Leeka and Alekh Jindal and Jishen Zhao and Jesus Camacho-Rodriguez and Yuanyuan Tian},
  year   = {2024},
  eprint = {2401.03723},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2401.03723v1}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2401.03723.svg)](https://codeofpaper.com/paper/2401.03723)

Discussion