21 research outputs found
Buffer Pool Aware Query Scheduling via Deep Reinforcement Learning
In this extended abstract, we propose a new technique for query scheduling
with the explicit goal of reducing disk reads and thus implicitly increasing
query performance. We introduce \system, a learned scheduler that leverages
overlapping data reads among incoming queries and learns a scheduling strategy
that improves cache hits. \system relies on deep reinforcement learning to
produce workload-specific scheduling strategies that focus on long-term
performance benefits while being adaptive to previously-unseen data access
patterns. We present results from a proof-of-concept prototype, demonstrating
that learned schedulers can offer significant performance improvements over
hand-crafted scheduling heuristics. Ultimately, we make the case that this is a
promising research direction in the intersection of machine learning and
databases
Neo: A Learned Query Optimizer
Query optimization is one of the most challenging problems in database
systems. Despite the progress made over the past decades, query optimizers
remain extremely complex components that require a great deal of hand-tuning
for specific workloads and datasets. Motivated by this shortcoming and inspired
by recent advances in applying machine learning to data management challenges,
we introduce Neo (Neural Optimizer), a novel learning-based query optimizer
that relies on deep neural networks to generate query executions plans. Neo
bootstraps its query optimization model from existing optimizers and continues
to learn from incoming queries, building upon its successes and learning from
its failures. Furthermore, Neo naturally adapts to underlying data patterns and
is robust to estimation errors. Experimental results demonstrate that Neo, even
when bootstrapped from a simple optimizer like PostgreSQL, can learn a model
that offers similar performance to state-of-the-art commercial optimizers, and
in some cases even surpass them