Quelle est la différence entre ArcSDE et les bases de données activées spatialement?

28

Quand souhaitez-vous utiliser ArcSDE (disponible en tant que niveau de licence ArcGIS Server Basic) par rapport à une base de données spatialement activée?

Quels sont les compromis de chaque côté?

Quels sont les avantages de chaque côté?

TheSteve0
la source
Ce qui était le produit ArcSDE s'appelle désormais ArcGIS Server Basic et est disponible dans les éditions Workgroup ou Enterprise.
Chris M

Réponses:

27

SDE [ArcSDE] peut faire référence à au moins deux choses: l'organisation de vos données dans la base de données (le schéma SDE) ou un service écoutant les connexions des clients (le service SDE). Généralement, ils vont de pair - le service SDE est lié à un schéma SDE dans une base de données.

Dans son état "le plus pur" (ou peut-être le plus sale), SDE gère tous les calculs spatiaux et stocke uniquement les données dans votre base de données sous forme de BLOB et d'autres types SQL natifs. Certaines fonctions de base de données, comme l'indexation de texte ou XML, sont utilisées pour améliorer les performances, mais généralement la base de données ne "sait" pas qu'elle sert des données spatiales. Il y a juste un tas de tableaux, de vues et de procédures, et ils sont pleins de données et de fonctions.

Avec une base de données spatialement activée, la base de données EST consciente que les données ont un emplacement. Ainsi, vous pouvez placer des requêtes d'emplacement directement dans vos instructions SQL. C'est peut-être une bonne chose pour vous, cela dépend vraiment de qui consomme vos données. Si vos consommateurs de données maîtrisent SQL, c'est génial! Si vos consommateurs de données maîtrisent ArcMap, ils s'en soucieront probablement moins.

Plus récemment, nous avons pu fusionner les deux, en utilisant SDE pour traduire en un type spatial natif sous-jacent. De plus, nous pouvons utiliser la "connexion directe" pour contourner le service SDE et simplement avoir l'application consommateur (ArcMap, serveur ArcGIS, etc.) directement connectée à la base de données. Personnellement, j'ai eu différents niveaux de succès avec des connexions directes.

Avantages d'utiliser ArcSDE:

  • Intégration transparente avec les clients ESRI
  • Bonne performance
  • Certaines fonctionnalités de base de données sous-jacentes peuvent être exposées (vues spatiales, index)

Inconvénients de l'utilisation de SDE:

  • Peut être difficile à récupérer à partir de données corrompues
  • La licence est liée à la base de données
  • Pas d'accès facile à la géométrie sans utiliser le logiciel ESRI

Avantages d'une base de données spatialisée:

  • Des données facilement accessibles à tout client SQL
  • Les données peuvent être gérées à l'aide des outils DB existants (sauvegarde, restauration, analyse)
  • Formats ouverts disponibles

Inconvénients de l'utilisation d'une base de données spatialisée:

  • Les clients (logiciels) peuvent ne pas être en mesure de se connecter directement à vos données et peuvent avoir à utiliser des protocoles ou des exportations inefficaces pour les voir
  • Les références spatiales sont parfois difficiles à appliquer ou à maintenir cohérentes
  • Pourrait entraîner une surcharge de configuration ou de gestion supplémentaire

J'ai plus d'expérience avec SDE ordinaire, donc il y a probablement plus de points pour la base de données activée spatialement.

J'espère que cela t'aides!

mwalker
la source
1
Vous violeriez la licence ESRI si vous accédez aux données directement et non via le service SDE.
CrazyEnigma
9
Il n'y a aucune infraction. La connexion directe ESRI n'utilise aucun service SDE (au moins du côté serveur). De plus, ils ont publié de nombreux articles sur l'utilisation de PostGres, MSSQL et WKT comme type de stockage spatial tout en utilisant SDE qui vous permet de communiquer directement avec les données spatiales. Et plus d'une fois, j'ai dû nettoyer SDE en accédant directement aux données quand il s'est cassé. Un autre avantage des bases de données activées spatialement est que la base de données peut faire le travail plutôt que de rassembler toutes les données dans un client et de le faire faire le travail.
westyvw
3
@CrazyEnigma: citation nécessaire.
Derek Swingley
grande description de SDE vs ST Geometry @mwalker Merci
CDBrown
2
re: références spatiales, je pense que c'est le contraire. Les références spatiales dans PostGIS sont standard et les SRID sont les mêmes que les codes EPSG pour les SRS applicables. Avec SDE, au moins à 9.3x, les SRIDS incorporent des étendues, etc. vous pouvez donc avoir deux SRID différents pour le même système de référence spatiale. Cela provoque des problèmes si vous souhaitez utiliser SQL spatial.
DavidF
3

Voici ma réponse en une ligne: utilisez SDE lorsque vous avez besoin d'un accès multi-utilisateur à vos données géospatiales.

Supposons que vous souhaitiez que plusieurs utilisateurs modifient vos données: utilisez SDE. Supposons que vous souhaitiez diffuser des données et autoriser leur modification sur le Web: utilisez SDE. Si vous êtes un petit magasin, avec un gars SIG, n'utilisez pas SDE.

Si vous êtes la seule personne à utiliser vos données spatiales, SDE n'est pas pour vous. Si vous n'avez pas besoin de l'édition multi-utilisateurs, SDE n'est pas pour vous. Il vaut mieux utiliser un fichier GeoDatabase.

Quant aux compromis ... SDE n'est pas trivial à mettre en place ou à gérer. Vous devez utiliser un SGBDR.

SDE est destiné aux grandes organisations où une base de données est nécessaire mais plusieurs utilisateurs doivent accéder et mettre à jour / modifier les données.

Derek Swingley
la source
1
Je veux dire que les produits Arc sont assez mauvais en ce qui concerne les environnements multi-utilisateurs. Il semble y avoir beaucoup de choses qui ne peuvent pas être faites tant que les gens sont connectés. Si les performances et un environnement multi-utilisateur robuste sont importants, il doit être préférable de laisser le SGBDR faire tout le travail sans impliquer des objets intermédiaires sales, simplement ralentir les choses et mettre des verrous sur tout. Mais il me semble que je dois admettre, la boîte que je veux dire :-)
Nicklas Avén
2
Je suis d'accord avec Nicklas. Votre comparaison est logique dans le monde Arc, mais SDE n'est pas génial avec plusieurs utilisateurs. Un SGBDR spatialement activé comme PostGIS présente des avantages dans ce domaine. Avez-vous déjà essayé d'accorder à un utilisateur des droits sur un ensemble de données SDE que quelqu'un d'autre consulte?
DavidF
Oui, j'ai rencontré le problème que vous décrivez avec l'octroi de privilèges. Je ne sais pas si c'est toujours un problème car je n'ai pas eu à administrer un SDE GDB depuis quelques années. Les subventions ne doivent pas être bloquées par des verrous. Comment postgres / postgis gère-t-il l'édition multi-utilisateurs?
Derek Swingley
0

De nos jours, la plupart des dbs spatiaux autorisent plusieurs colonnes spatiales dans une seule table, tandis que SDE se limite à une colonne spatiale pour une table. Ils ont également des données spatiales intégrées à leurs outils de gestion des données flexibles et puissants, qui manquent à SDE, tels que les sachems utilisateur, la réplication des données, le support SQL, etc.

ESRI SDEBinary est le plus performant. S'il s'agit de ST_GEOMETRY, SDE peut ne pas avoir les meilleures performances.

Lieu - Zilla
la source