Je suis en train de concevoir une application qui doit sauvegarder des formes géométriques dans une base de données. Je n'ai pas encore choisi le système de gestion de base de données.Ai-je besoin d'un index spatial dans ma base de données?
Dans mon application, toutes les requêtes de base de données auront une boîte englobante en entrée, et en sortie, je veux toutes les formes dans cette base de données. Je sais que les bases de données avec un index spatial sont utilisées pour ce genre d'application. Mais dans mon application il y aura pas être des requêtes de type "me donner des objets à proximité x/y" ou d'autres requêtes plus complexes qui sont utiles dans une application SIG.
Je prévois d'avoir une base de données sans un index spatial et ont des requêtes ressemblant à:
SELECT * FROM shapes WHERE x < max_x AND x > min_x AND y < max_y AND y > min_y
et ont un indice sur les colonnes x (double)
et y (double)
. Tant que je peux voir, je n'ai pas vraiment besoin d'une base de données avec un index spatial, quel que soit mon application est proche de ce genre d'applications.
Et même si je voudrais avoir des requêtes à proximité, alors je pourrais créer une boîte de délimitation assez grande autour de ce point. Ou cela conduira-t-il à une mauvaise performance?
Ai-je vraiment besoin d'une base de données spatiale? Et quand un index spatial est-il nécessaire?
EDIT: Les requêtes de recherche seront effectivement un peu plus avancé que celui que j'ai écrit ci-dessus, puisque je traite avec des formes géométriques je vais entrer une boîte englobante qui renverra plusieurs formes (avec boîte englobante) qui sont à l'intérieur ou interférer avec la boîte dans la requête. Mais je pense toujours que je peux le faire sans indice spatial, après avoir lu toutes les bonnes réponses.
Quel est le "coût" de l'utilisation de postgis ou spatiallite? Je ne comprends pas pourquoi tu ne voudrais pas les utiliser. – TheSteve0
@ TheSteve0: Je n'ai pas encore décidé quels dbms j'utiliserais. Mais je ne voudrais pas être limité à un avec un index spatial. Peut-être que je vais pour une base de données NoSQL distribuée istead d'un SGBDR. – Jonas
Eh bien, quel est votre cas d'utilisation - si cela ne vous dérange pas de partager – TheSteve0