Thursday, 13 September 2018

enterprise geodatabase - What is difference between ArcSDE and spatially enabled databases?


When would you want to use ArcSDE (available as ArcGIS Server Basic license level) versus a spatially enabled database?


What are the trade-offs on either side?


What are the benefits on either side?



Answer



SDE [ArcSDE] can refer to at least two things: the organization of your data in the database (the SDE Schema) or a service listening for connections from clients (the SDE service). Generally they go hand in glove - the SDE service is bound to an SDE schema in a database.



In its "purest" (or perhaps dirtiest) state, SDE handles all of the spatial computations, and only stores data in your database as BLOBs and other native SQL types. Some database functions, like text or XML indexing, are used to improve performance, but generally the database doesn't "know" it is serving spatial data. There's just a bunch of tables and views and procedures, and they're full of data and functions.


With a spatially enabled database, the database IS aware that the data has a location. So, you can put location queries right into your SQL statements. Perhaps this is a good thing for you, it really depends on who is consuming your data. If your data consumers are fluent in SQL it's great! If your data consumers are fluent in ArcMap they could probably care less.


More recently we have been able to blend the two, by using SDE to translate to an underlying native spatial type. Furthermore, we can use "direct connect" to bypass the SDE service and just have the consumer application (ArcMap, ArcGIS server, etc) connect straight to the database. Personally I have had varying levels of success with direct connections.


Benefits to using ArcSDE:



  • Seamless integration with ESRI clients

  • Good performance

  • Some underlying database functionality can be exposed (spatial views, indexes)


Drawbacks to using SDE:




  • Can be difficult to recover from corrupted data

  • The license is bound to the database

  • No easy access to geometry without using ESRI software


Benefits to a spatially enabled database:



  • Data easily accessible to any SQL client

  • Data can be managed using existing DB tools (backup, restore, analyze)

  • Open formats available



Drawbacks to using a spatially enabled database:



  • Clients (software) may not be able to connect directly to your data, and may have to use inefficient protocols or exports to see it

  • Spatial References are sometimes hard to apply or keep consistent

  • Could incur extra configuration or management overhead


I have more experience with plain SDE so there are likely more points for the spatially enabled database.


Hope this helps!


No comments:

Post a Comment

arcpy - Changing output name when exporting data driven pages to JPG?

Is there a way to save the output JPG, changing the output file name to the page name, instead of page number? I mean changing the script fo...