Bases de données spatiales

19
Problème des données spatiales Index spatial Bibliographie Références Bases de données spatiales Intérêt et problèmes d’indexation Guillaume Matheron [email protected] 2015 1 / 19

Transcript of Bases de données spatiales

Page 1: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Bases de données spatialesIntérêt et problèmes d’indexation

Guillaume [email protected]

2015

1 / 19

Page 2: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

I - Problème des données spatialesII - Index spatialIII - Efforts de standardisationIV - Expérimentation avec MySQLV - Ouverture - Bibliographie

2 / 19

Page 3: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Indexation

Facile à indexer :

EntiersTexteDate

Type de requêtes visées :

Recherche d’un élémentÉnumération d’un intervalleSimilarité / proximité

3 / 19

Page 4: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Requêtes difficiles/spécifiques : filtrage

Éléments dont l’id est premierÉléments dont le nom comporte exactement 3 voyelles

Difficile à indexer :

Images, sons (requêtes de similarité - Shazam, reverse imagesearch)Fichiers binaires (requêtes de similarité - Par exemplesynchronisation de fichiers dépacés et modifiés)Géométrie

4 / 19

Page 5: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Problème des données spatiales

Données spatiales :

Géographiques (cartes, localisation, ...)Tridimensionnelles (scan 3d, imagerie médicale, ...)

5 / 19

Page 6: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Problème : trouver rapidement une donnée à partir de sa positionapprochée →métrique

Applications : trouver les clusters, les points proches, le voisinagepour des transformations locales d’objets 3D, ...

Un index ne suffit pas ! Problème de base de la rastérisation

Exemple : masque de convolution [4]6 / 19

Page 7: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Index spatial

En 1D : arbre binaire

En 2D : arbre quad (quadtree)

En 3D : arbre 8-aire (octree)

Problème : en 1D, on aime bien faire des arbres n-aires (pourremplir un bloc) !

7 / 19

Page 8: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Arbre R [2]

8 / 19

Page 9: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Arbre R

Équilibrage complexe (heuristiques pour les dépassements)Faible remplissage minimal (environ 30% contre 50% pour lesarbres B)

Arbre R* →minimation du recouvrement (overlap) [1]

9 / 19

Page 10: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Autres index spatiaux - Z-curve

Interlacement des bits decoordonnéesGénéralisable en ndimensionsConversion facile en arbreR équilibré

10 / 19

Page 11: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Arbre R de Hilbert [3]

Courbe de Hilbert

Donne un ordre total surRn

11 / 19

Page 12: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Arbre R de Hilbert

Les sous-rectangles sont triés par abscisse de Hilbert du centrede leur MBR (=minimal bounding rectangle)Remplissage aussi important que souhaité

12 / 19

Page 13: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Efforts de standardisation

Open Geospatial Consortium, ’94

Simple Features standard, ’04

Définit les formats standard d’échange de données spatialessimples (points, polygones, ...)

13 / 19

Page 14: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Expérimentation avec MySQLGénération d’un grand nombre de données aléatoires (106

enregistrements créés en 5 minutes)

CREATE PROCEDURE ‘InsertRand‘(IN NumRows INT, IN MinVal INT, IN MaxVal INT)

BEGINDECLARE i INT;SET i = 1;START TRANSACTION;WHILE i <= NumRows DO

INSERT INTO test (location) VALUES(POINT(RAND(),RAND()));

SET i = i + 1;END WHILE;COMMIT;

END 14 / 19

Page 15: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

SELECT SQL_NO_CACHE AsText(location)FROM ‘test‘ IGNORE INDEX(loc)WHERE MBRContains(

GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’),location)

119 total, Query took 0.4115 seconds

15 / 19

Page 16: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Expérimentation avec MySQL

SELECT SQL_NO_CACHE AsText(location)FROM ‘test‘WHERE MBRContains(

GeomFromText(’LINESTRING(0.39 0.39,0.4 0.4)’),location)

119 total, Query took 0.0012 seconds (300 fois moins !)

16 / 19

Page 17: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

mysql> EXPLAIN (...IGNORE INDEX(loc)...)+----+-------------+-------+------+---------------+---------+| id | select_type | table | type | possible_keys | rows |+----+-------------+-------+------+---------------+---------+| 1 | SIMPLE | test | ALL | NULL | 1100008 |+----+-------------+-------+------+---------------+---------+1 row in set (0.01 sec)

mysql> EXPLAIN (...)+----+-------------+-------+--------+---------------+---------+| id | select_type | table | type | possible_keys | rows |+----+-------------+-------+--------+---------------+---------+| 1 | SIMPLE | test | range | loc | 225 |+----+-------------+-------+--------+---------------+---------+1 row in set (0.01 sec)

17 / 19

Page 18: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Conclusion/ouverture

Espaces de grande dimension →reconnaissance d’images/desons, clusteringReprésentation de données linéiques →base de donnéesorientée graphes

18 / 19

Page 19: Bases de données spatiales

Problème des données spatialesIndex spatialBibliographie

Références

Bibliographie

[1] H. P. ; Schneider R. ; Seeger B. Beckmann, N. ; Kriegel. Ther*-tree : an efficient and robust access method for points andrectangles.

[2] A. Guttman. R-trees : A dynamic index structure for spatialsearching.

[3] I. Kamel and C. Faloutsos. Hilbert r-tree : An improved r-treeusing fractals.

[4] George Politis. Scan line rendering of convolutions.

19 / 19