Quality of experience in distributed databases
Authors
Abstract
This paper proposes an approach to improve the level of Quality of Experience (QoE) that distributed database systems provide.Quality of Experience is a measure of users' satisfaction when using a certain service or application. Therefore, the main objective of this paper is to provide mechanisms to increase users' satisfaction when accessing distributed database systems.
In traditional database systems, users cannot specify execution-related constraints. Then, the database system cannot evaluate if user expectations are satisfied and neither the system can take corrective actions when necessary.
In this work, we present the QoE-oriented distributed database system (QoE-DDB). It allow users to specify Data Access Requirements (DARs) and aims to please users by satisfying the DARs they define. We define a set of types of Data Access Requirements and propose some SQL extensions that enable users to specify execution-related requirements. Proposed types of DARs include execution deadline and priority, execution start and finish times, data availability and freshness degrees, and disconnected execution mode.
In our QoE-DDB, each user's command is transformed into one or more tasks that are executed by data services. Community modules and local data services negotiate Service Level Objectives (SLOs) for each task, which improves the system's dependability. We propose both QoE-oriented scheduling and dynamic data placement strategies. Proposed architecture and scheduling strategies enable the system to be used in a wide range of distributed environments, from tightly-coupled homogeneous environments (e.g. composed by off-the-shelf computers connected by a LAN) to highly heterogeneous and geographically distributed systems, where data services have some degree of autonomy.
Traditional performance indicators (e.g. throughput and response time) are not adequate to measure the QoE a system provides. We also propose some specialized Key Performance Indicators (KPIs) to estimate the QoE level a database system provides.
Finally, we present experimental results obtained through the use benchmark data and queries together with a prototype that implements proposed strategies. In our experiments, we consider realistic scenarios and compare proposed scheduling strategies with their best-effort oriented counterparts. Obtained results prove the importance of our QoE-oriented approach.