Quality of Experience in Database Systems



This work aims at providing mechanisms to increase users' satisfaction when using database systems. We express users' satisfaction in terms of Quality of Experience (QoE). Therefore, our proposals aim to increase the degree of QoE a database system provides.

Traditional database systems execute operations immediately upon submission
and, since they do not allow users to express execution-related constraints, they do not evaluate whereas those constraints are covered, and they do not take corrective action when necessary.

Our proposal for QoE makes the database system take into consideration users'
expectations on deciding how or when to execute operations. This is based on a set of Data Access Requirements (DAR) that users can associate to database operations and the QoE-prepared system considers those when processing the operations.

Since the objective of the QoE-oriented database system is to provide user
satisfaction, the analysis of its performance must consider success rate measures on achieving the user specified constraints. We have defined Key Performance Indicators based on such measures and used those as part of our comparison of approaches.

Our proposed Data Access Requirements (DARs) include execution deadlines,
execution start and end times, data availability, data freshness, execution priority, disconnected execution and job repetition. Some of those, such as execution deadlines, are useful in any data processing architecture - centralized, parallel or distributed – whereas DARs such as availability are especially designed for parallel and distributed contexts.

For the proposed approach to work on any of those architectures we needed to
develop a set of features that includes runtime estimations, requirements-based task scheduling and future jobs monitor and scheduling.
Besides that, we also developed some other features required for parallel and
distributed QoE-oriented database systems. Those include an election-based global scheduler, capacity to evaluate data availability degree and capacity to decide on data replication. Another important aspect in parallel and distributed settings was the development of reputation strategies. These allow the system to constantly have updated quantitative information on the degree of QoE expectations fulfillment by nodes or sites and, based on these, to adapt in order to maintain high QoE capabilities. Requirements fulfillment rates and runtime estimations are the bases of proposed reputation algorithms, which support better scheduling decisions.

We show experimentally, using benchmark scenarios, that the proposed QoEoriented database system is able to satisfy the user-defined execution-related constraints in both centralized, parallel and distributed cases. In order to do this we have created a prototype and tested the most important concepts proposed in this thesis. The approaches were compared with best effort (no QoE) counterparts and, when relevant, with scheduling approaches such as round-robin or on-demand.


Quality of experience, Query scheduling, Data placement, Service level objectives, Data access requirements, Performance Indicators


QoE-oriented database systems

PhD Thesis

Quality of Experience in Database Systems, May 2011

Cited by

No citations found