Dans le domaine du "Database-as-a-Service" (DBaaS), la multi location (multi-tenancy) est devenue un concept clé, permettant à une seule instance de base de données d’être partagée entre plusieurs locataires. Au sein d’un SGBDR parallèle multi-locataires, de nombreux locataires peuvent soumettre des requêtes SQL en parallèle, chacune associée à un SLO (Service Level Objective). Toute violation de ces SLOs entraîne des pénalités pour le fournisseur. Ainsi, le SGBDR, responsable de l'intérêt à long terme du fournisseur, doit trouver un compromis entre les coûts financiers liés à la consommation des ressources et la satisfaction des SLOs. Ce compromis doit être bien évalué à cause de l’instabilité des charges de travail dans les environnements multi-locataires. Étant donné cette instabilité, ainsi que la nécessité de respecter des objectifs de performance stricts SLOs, des stratégies d’optimisation des requêtes innovantes sont requises. Ces stratégies doivent être adaptées aux besoins spécifiques des environnements multi-locataires tout en garantissant la rentabilité du fournisseur de services.
Tout d'abord, nous avons développé une stratégie de sélection de plan d'exécution qui adapte l'objectif d'optimisation en fonction de la charge de travail. Cette information sur la charge de travail est fournie par le gestionnaire de file d’attente, un nouveau composant intégré dans l’optimiseur de requêtes, qui contrôle à la fois la planification des plans d’exécution sélectionnés et l’allocation de ressources. De plus, nous avons introduit une stratégie de segmentation de plan d’exécution. Celle-ci permet de segmenter les plans d’exécution de longue durée en sous-plans tout en limitant la sur-segmentation et les coûts supplémentaires associés. Ensuite, nous avons développé un système de gestion de prédiction de la charge de travail (ou Gestionnaire de Prédiction) au sein de l'optimiseur de requêtes. L'objectif principal de ce gestionnaire est de prédire de manière continue la charge de travail à venir et de rendre ces informations accessibles à l'optimiseur. Cela contribue à une stratégie de sélection de plan d'exécution plus affinée, notamment lorsque la charge de travail des requêtes peut fluctuer significativement à court terme. Ainsi, cela permet à l'optimiseur de requêtes de décider quand et quel plan d'exécution sélectionner, tout en tenant compte des SLOs.
Les résultats expérimentaux ont montré que la première stratégie de sélection de plan d'exécution proposée utilisant le système de gestion de file d'attente, ainsi que la stratégie de sélection de plan d'exécution améliorée, ont permis d’obtenir une grande efficacité en termes de profit à long terme pour le fournisseur, par rapport aux stratégies existantes dans la littérature. |
In the realm of Database-as-a-Service (DBaaS), multi-tenancy has emerged as a key concept, enabling a single database instance to be shared among multiple tenants. Within a multi-tenant parallel RDBMS, at any point, many tenants may submit SQL queries concurrently, each associated with a performance Service- Level Objective (SLO). Any violation to these SLOs requires the provider to pay penalties. As such, the RDBMS which is in charge of the provider’s long-term benefit, should find a fair trade-off between the financial costs associated to resource consumption and the SLO satisfactions. Such trade-offs should be carefully considered due to the instability of multi-tenant query workload. Given the workload instability, along with the need to satisfy the strict performance objectives SLOs, innovative query optimization strategies are required. These strategies should be well adapted to the specific needs of multi-tenant environments while ensuring profitability for the service provider.
First, we proposed an execution plan selection strategy which changes the optimization objective depending on the current query workload. This workload information is provided by the queue manager, a new component integrated within the query optimizer, which controls the selected execution plans’ scheduling as well as resource allocation. We, also, introduced an execution plan segmentation strategy, which carefully segments long-running execution plans into sub-plans while limiting over-segmentation and associated over-costs. Then, we developed a workload prediction management system (or Prediction Manager in short) within the query optimizer. The main objective of this manager is to continuously predict the upcoming workload and make this information available to the optimizer. This contributes to a more refined execution plan selection strategy, especially that the query workload might fluctuate significantly in a short-term period. Thus, this enables the query optimizer, along with the performance SLOs, to decide when and which execution plan to select.
Experimental results showed that both the first proposed execution plan selection strategy along with the queue management system, as well as the enhanced execution plan selection strategy, achieved high efficiency in terms of the provider’s long-term profit compared to existing strategies in the literature. |