Universal Database System Analysis for Insight and Adaptivity
Loading...
Date
2022-12-13
Authors
Glasbergen, Bradley James
Advisor
Daudjee, Khuzaima
Journal Title
Journal ISSN
Volume Title
Publisher
University of Waterloo
Abstract
Database systems are ubiquitous; they serve as the cornerstone of modern
application infrastructure due to their efficient data access and
storage. Database systems are commonly deployed in a wide range of environments,
from transaction processing to analytics.
Unfortunately, this broad support comes with a trade-off in system
complexity. Database systems contain many components and features that
must work together to meet client demand. Administrators responsible
for maintaining database systems face a daunting task: they must
determine the access characteristics of the client workload they are
serving and tailor the system to optimize for
it. Complicating matters, client workloads are known to shift in
access patterns and load. Thus, administrators continuously
perform this optimization task, refining system design and
configuration to meet ever-changing client request patterns.
Researchers have focused on creating next-generation, natively adaptive database systems to
address this administrator burden. Natively adaptive database systems construct
client-request models, determine workload characteristics, and tailor
processing strategies to optimize accordingly. These systems
continuously refine their models, ensuring they are responsive to
workload shifts. While these new systems show promise in adapting system
behaviour to their environment, existing, popularly-used database systems
lack these adaptive capabilities. Porting the ideas in these new
adaptive systems to existing infrastructure requires monumental
engineering effort, slowing their adoption and leaving users stranded
with their existing, non-adaptive database systems.
In this thesis, I present Dendrite, a framework that easily
``bolts on'' to existing database systems to endow them with adaptive
capabilities. Dendrite captures database system behaviour in
a system-agnostic fashion, ensuring that its techniques are
generalizable. It compares captured behaviour to determine
how system behaviour changes over time and with respect to idealized
system performance. These differences are matched against
configurable adaption rules, which deploy user-defined
functions to remedy performance problems. As such, Dendrite can
deploy whatever adaptions are necessary to address a behaviour shift
and tailor the system to the workload at hand. Dendrite
has low tracking overhead, making it practical for intensive database
system deployments.