A flexible and decentralised approach to query processing for geo-distributed data systems - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Thèse Année : 2021

A flexible and decentralised approach to query processing for geo-distributed data systems

Une approche flexible et décentralisée du traitement de requêtes dans les systèmes géo-distribués

Dimitrios Vasilas
  • Fonction : Auteur
  • PersonId : 737065
  • IdHAL : dvasilas

Résumé

Query processing is an essential component of today's data serving systems. Query processing involves a variety of metrics that are in tension and create trade-offs. Because of these trade-offs, application developers need to tune query engines to the characteristics and needs of each application. Today's query engines often handle requests from users around the world, accessing data spread across geographically distributed sites. This thesis studies how to support efficient query processing in contexts in which users and data are distributed across multiple geographic locations. We present an analysis of the design decision and trade-offs in geo-distributed query processing. In particular, we study how the placement of derived state used by the query engine to accelerate query processing (indexes, materialized views) and the communication patterns involved in query processing and state maintenance affect three metrics: query performance, query result freshness, and cross-site network resource consumption. We propose a query engine architecture that, as opposed to current state-of-the-art approaches, allows application developers to make derived state placement decisions in a case-by-case basis. The enabling technique that this thesis presents is composition-based design: a query engine architecture can be constructed by composing building block components that encapsulate primitive query processing tasks into a directed acyclic graph that provides higher-order query processing capabilities. We introduce a query processing component abstraction, the Query Processing Unit (QPU), that defines a uniform interface and interaction semantics for query processing architecture building blocks. This uniform interface and interaction semantics allows us to expose design decisions about the query engine’s architecture and placement to application developers. Finally, we present an implementation of the proposed approach, in the form of a framework for constructing and deployment application-specific query engines, called Proteus. Proteus consists of an extensible library of Query Processing Unit implementations, and mechanisms for facilitating the definition and deployment of QPU-based query engines. The experimental evaluation supports the theoretical analysis of the trade-offs involved in query processing state placement, and suggests that Proteus can effectively occupy multiple different points in the design space of geo-distributed query processing.
Cette thèse présente l'étude de la conception de systèmes de traitement de requêtes dans divers cadres géo-distribués. L'optimisation des mesures de performance telles que le temps de réponse, la fraîcheur ou le coût opérationnel implique des décisions de conception tel que le choix de l’état dérivé (indices, vues matérialisées, caches par ex.) à construire et maintenir, et la distribution et le placement de ces derniers et de leurs calculs. Ces métriques sont souvent opposées et les compromis dépendent de l'application et/ou de la spécificité de l'environnement. La capacité d'adapter la topologie et l'architecture du système de traitement de requêtes devient alors essentielle, ainsi que le placement de ses composants. Cette thèse apporte les contributions suivantes : - Une architecture flexible pour les systèmes de traitement de requêtes géo-distribués, basée sur des composants connectés dans un graphe bidirectionnel acyclique. - Une abstraction de micro-service et une API communes pour ces composants, le Query Processing Unit (QPU). Un QPU encapsule une tâche de traitement de requête primitive. Il existe plusieurs types de QPU qui peuvent être instanciés et composés en graphes complexes. - Un modèle pour construire des architectures de systèmes de traitement de requêtes modulaires composées d’une topologie distribuée de QPUs, permettant une conception flexible et des compromis selon les mesures de performance visées. - Proteus, un framework basé sur les QPU, permettant la construction et le déploiement de systèmes de traitement de requêtes. - Déploiements représentatifs de systèmes de traitement de requêtes à l'aide de Proteus, et leur évaluation expérimental.
Fichier principal
Vignette du fichier
thesis.pdf (2.86 Mo) Télécharger le fichier
Origine : Fichiers produits par l'(les) auteur(s)

Dates et versions

tel-03272208 , version 1 (13-09-2021)
tel-03272208 , version 2 (21-10-2021)

Identifiants

  • HAL Id : tel-03272208 , version 1

Citer

Dimitrios Vasilas. A flexible and decentralised approach to query processing for geo-distributed data systems. Computer science. Sorbonne Université, 2021. English. ⟨NNT : ⟩. ⟨tel-03272208v1⟩
268 Consultations
422 Téléchargements

Partager

Gmail Facebook X LinkedIn More