Abstract: Quality of Service (QoS) is at the core of the vision of Database as a Service (DBaaS). Traditional approaches in DBaaS often reserve computation resources (e.g. CPU and memory) to satiate tenants’ QoS guarantees under various circumstances, which inevitably results in poor resource utilization, as the tenants’ actual workloads are usually below their expectations described by their Service Level Objectives (SLOs). In this paper, we propose a novel scheme FrugalDB to enhance resource utilization for DBaaS systems with QoS guarantees. FrugalDB accommodates two independent database engines, an in-memory engine for heavy workloads with tight SLOs, and a disk-based engine for light workloads with loose SLOs. By allocating each tenant’ workload to an appropriate engine via workload migration, this dual-engine scheme can substantially save computation resources, and thus consolidate more tenants on a single database server. FrugalDB tries to minimize workload migration cost incurred in moving workloads between the two engines. By an effective workload estimation method and an efficient migration schedule algorithm, FrugalDB responds quickly to workload changes and executes workload migrations with minimal overhead. We evaluate FrugalDB with extensive experiments, which show that it achieves high tenant consolidation rate yet with few performance SLO violations.
0 Replies
Loading