102 CHAPITRE 5 — In<strong>de</strong>xation <strong>de</strong> donnéesx 5x 1x 6p 1p 9p 2 y 5 xpy 27p 310p 4 y3y 2p 11x yy 5 6 x 3y 15p 5 p 14yp 6 p 1y 134py6 p 12yx 7 x x 7 x y6 8 4 y 3 y 2 x 47 15pp 7 p816x 8 x 1 x 3 x 2 x 4 p 1 p 4 p 2 p 3 p 5 p 6 p 7 p 8 p 14 p15p 9 p 12 p1011p 13 pp 16Figure 5.7 – Adaptive k-d-treeperplans <strong>de</strong> dimensions k − 1 jusqu’à ce que le nombre d’objets soit en <strong>de</strong>ssous d’un seuil fixé.Cependant, il s’en distingue par une différence <strong>de</strong> poids : les hyperplans ne sont plus nécessairementiso-orientés. Ceci permet d’adapter le partitionnement à la répartition <strong>de</strong>s objets dansl’espace, puisque c’est cette répartition qui détermine l’emplacement <strong>de</strong> l’hyperplan. <strong>Le</strong> BSP-Tree permet d’in<strong>de</strong>xer <strong>de</strong>s objets spatiaux (dotés d’une aire ou d’un volume) en plus <strong>de</strong>s points.Cette structure, bien que très utilisée dans le domaine du graphisme [62, 145], notammentpour l’élimination <strong>de</strong>s surfaces cachées, souffre <strong>de</strong> quelques handicaps. La détermination <strong>de</strong>shyperplans et les calculs d’intersection sont coûteux. De même, l’espace <strong>de</strong> stockage requisest plus important : il faut en effet conserver les informations sur l’hyperplan (emplacement etorientation) alors qu’auparavant, une position relative à l’axe concerné suffisait. L’arbre obtenun’est pas équilibré et peut avoir une gran<strong>de</strong> profon<strong>de</strong>ur. La figure 5.8 montre un exemple <strong>de</strong>BSP-Tree sur le même ensemble <strong>de</strong> points qu’en figure 5.7.u 7 u 1 u 3u 1p 1p 9p 2u p p 310u 5 2 u 5p 4p11u u 3 4 u u 6 7p 5 p 14p 6 p 13pp 1215pp p p 7p 9 p 11 12 p 14 p 7 p 5 p 1 p 2u 8166p 10 p 13 p16p 15 p 8 p6p 4 p 3u 4u 2Figure 5.8 – BSP-Tree
CHAPITRE 5 — In<strong>de</strong>xation <strong>de</strong> données 1035.2.2 Techniques d’in<strong>de</strong>xationLa littérature sur les in<strong>de</strong>x multidimensionnels est riche en recherches sur les techniquesd’in<strong>de</strong>xation [4, 6, 12, 13, 30, 33, 37, 76, 80, 81, 89, 100, 101, 119, 129, 130, 146, 148]. Maisl’intégration concrète <strong>de</strong> ces techniques (ou « métho<strong>de</strong>s d’accès ») dans un système est marginale: en <strong>de</strong>hors du R-Tree <strong>de</strong> Guttman [76] (discuté en section 5.2.2.1), et plus rarement duR ∗ -Tree <strong>de</strong> Beckmann et al. [6] (section 5.2.2.1), seul le Z-or<strong>de</strong>ring [108] est, à notre connaissance,disponible dans un SGBD, en l’occurrence, Oracle.Toutes les techniques d’in<strong>de</strong>xation, basées soit sur les structures <strong>de</strong> données <strong>de</strong> la section5.2.1 (voir [73] par exemple), soit sur une technique existante, présentent néanmoins <strong>de</strong>s idéesoriginales. <strong>Le</strong>s structures <strong>de</strong> données (<strong>de</strong> la section 5.2.1) déterminent notamment la politique <strong>de</strong>partitionnement adoptée par la technique : les in<strong>de</strong>x basés sur le k-d-Tree partitionnent l’espaceà in<strong>de</strong>xer <strong>de</strong> façon régulière tandis que ceux basés sur le BSP-Tree effectuent un partitionnementdicté par le placement <strong>de</strong>s données dans l’espace.<strong>Le</strong>s propositions d’in<strong>de</strong>x étant nombreuses, cette section ne présentera que les techniques(assimilées à leur structure <strong>de</strong> données) qui se distinguent notablement <strong>de</strong>s autres, en raisond’une spécificité unique ou <strong>de</strong> leurs performances.5.2.2.1 R-TreeLa technique d’in<strong>de</strong>xation du R-Tree, proposée par Guttman en 1984 [76] est, sur le planhistorique, la première technique d’in<strong>de</strong>xation multidimensionnelle. Elle a été proposée pourprendre en charge les objets spatiaux dans un espace multidimensionnel. Un objet est spatialquand il a un volume (une surface dans un espace à 2 dimensions) non-nul. Il est défini par ladonnée d’un nombre <strong>de</strong> points supérieur à la dimension <strong>de</strong> l’espace auquel il appartient. Ontrouve ces objets dans les applications géographiques ou la conception assistée par ordinateur,où les objets manipulés sont <strong>de</strong>s polygones plutôt que <strong>de</strong>s points.Dans un R-Tree, un objet d’un espace E <strong>de</strong> dimension d est représenté par un intervalleI i = [a i , b i ] sur chaque dimension i, l’intervalle étant le plus restreint possible pour contenir laprojection <strong>de</strong> l’objet sur l’axe <strong>de</strong> la dimension i. Notons cependant que l’intervalle peut être ouvertcar la technique autorise <strong>de</strong>s bornes infinies. L’hyperrectangle constitué par les intervallesI 1 = [a 1 , b 1 ], I 2 = [a 2 , b 2 ], . . . , I d = [a d , b d ] décrit la région englobante minimale (ou REM) <strong>de</strong>l’objet Ω considéré par un intervalle multidimensionnel I : I(Ω) = I 1 (Ω)×I 2 (Ω)×. . .×I d (Ω).La structure <strong>de</strong> données en arbre du R-Tree figure une hiérarchie <strong>de</strong> régions (ici <strong>de</strong>s rectangles)englobantes minimales. Il est possible que <strong>de</strong>s portions <strong>de</strong> l’espace soient couvertes par plusieursREM ; on parle alors d’overlap (voir section 5.2.3.3). <strong>Le</strong>s objets contenus dans ces ré-