Indices and materialized views are physical structures that accelerate data access in data warehouses. However, these data structures generate some maintenance overhead. They also share the same storage space. The existing studies about index and materialized view selection consider these structures separately. In this paper, we adopt the opposite stance and couple index and materialized view selection to take into account the interactions between them and achieve an efficient storage space sharing. We develop cost models that evaluate the respective benefit of indexing and view materialization. These cost models are then exploited by a greedy algorithm to select a relevant configuration of indices and materialized views. Experimental results show that our strategy performs better than the independent selection of indices and materialized views.
Les entrepôts de données sont généralement modélisés selon un schéma en étoile contenant une table de faits centrale volumineuse et un certain nombre de tables dimensions représentant les descripteurs des faits Inmon (2002); Kimball et Ross (2002). La table de faits contient des clés étrangères vers les clés primaires des tables dimensions, ainsi que des mesures numériques. Avec ce type de modèle, une requête décisionnelle nécessite une ou plusieurs jointures entre la table de faits et les tables dimensions. De plus, le schéma de l'entrepôt peut comporter des hiérarchies au niveau des dimensions (schéma en flocon de neige), ce qui entraîne des jointures additionnelles. Ces jointures sont très coûteuses en terme de temps de calcul. Ce coût devient prohibitif lorsque les jointures opèrent sur de très grands volumes de données. Il est alors crucial de le réduire.
Les vues matérialisées et les index sont des structures physiques qui permettent de réduire le temps d’exécution des requêtes en précalculant les jointures et en offrant un accès direct aux données. Cependant, lors du rafraîchissement de l’entrepôt de données, ces structures doivent également être mises à jour, ce qui engendre une surcharge pour le système. Par ailleurs, index et vues matérialisées partagent le même espace de stockage. Il est donc judicieux de ne créer que les plus pertinents.
Les travaux existants dans le domaine de la sélection d’index et/ou de vues matérialisées traitent ces deux structures de manière isolée ou séquentielle. Dans cet article, nous proposons une nouvelle stratégie qui opère une sélection simultanée des vues matérialisées et des index afin de prendre en compte les interactions entre eux.
Dans un premier temps, nous exploitons des stratégies de sélection isolée des vues matérialisées et des index, qui nous fournissent un ensemble d’index et de vues candidats. Nous calculons ensuite grâce à des modèles de coût le bénéfice potentiel de chaque index et de chaque vue matérialisée, en prenant en compte les interactions possibles entre ces deux types de structures. Finalement, un algorithme glouton nous permet de sélectionner simultanément les vues matérialisées et les index les plus pertinents.
Cet article est organisé comme suit. La Section 2 est consacrée à l’état de l’art de ce domaine de recherche. La Section 3 présente globalement notre stratégie de sélection simultanée de vues matérialisées et d’index. Nous détaillons ensuite nos modèles de coût dans la Section 4, puis le calcul des bénéfices d’indexation et de matérialisation de vues dans la Section 5 . Nous présentons dans la Section 6 notre algorithme glouton de sélection simultanée de vues matérialisées et d’index. Les premières expérimentations que nous avons menées pour valider notre approche sont présentées dans la Section 7. Nous concluons finalement cet article et évoquons nos perspectives de recherche dans la Section 8.
Le problème de sélection d’index et/ou de vues matérialisées consiste à construire une configuration d’index et/ou de vues matérialisées optimisant le coût d’exécution d’une charge donnée, supposée représentative. Cette optimisation peut être réalisée sous certaines contraintes, comme l’espace de stockage alloué aux index et aux vues à sélectionner.
Plus formellement, si O = {o 1 , …, o n } est un ensemble d’objets (index candidats, vues matérialisées candidates ou index sur les vues), Q = {q 1 , …, q m } l’ensemble des requêtes de la charge et S la taille de l’espace disque alloué par l’administrateur pour stocker les objets à sélectionner, alors il faut trouver une configuration d’index et de vues matérialisées Conf ig tel que :
-le coût d’exécution C des requêtes de la charge soit minimal, c’est-à-dire :
-l’espace de stockage des index et des vues de Conf ig ne dépasse pas S, c’est-à-dire :
Les problèmes de sélection d’index et de vues matérialisées sont connus pour être NPcomplets Comer (1978); Gupta (1999). De ce fait, il n’existe pas d’algorithme qui propose une solution optimale en un temps fini. Plusieurs travaux de recherche proposent des solutions proches de la solution optimale en utilisant des heuristiques réduisant la complexité du problème.
Les travaux traitant la sélection d’index Frank et al. (1992); Choenni et al. (1993a,b); Valentin et al. (2000); Golfarelli et al. (2002); Dageville et al. (2004) et la sélection de vues Gupta (1999); Gupta et Mumick (1999); Baril et Bellahsene (2003); Smith et al. (2004); Gupta et Mumick (2005) s’orientent dans leur majorité vers une sélection séquentielle des vues et des index sur les vues, ou vers une sélection isolée des index ou des vues matérialisées. Cependant, les index et les vues matérialisées sont fondamentalement des structures physiques similaires Agrawal et al. (2000). En effet, les deux structures sont redondantes, accélèrent le temps d’exécution des requêtes, partagent la même ressource de stockage et impliquent une surcharge de maintenance pour le système suite