Take the 2-minute tour ×
Geographic Information Systems Stack Exchange is a question and answer site for cartographers, geographers and GIS professionals. It's 100% free, no registration required.

When would you want to use ESRI SDE (I think it is called Server but I forget the level - please feel free to edit) versus a spatially enabled database. What are the trade-offs on either side? What are the benefits on either side?

share|improve this question
    
What used to be the ArcSDE product is now called ArcGIS Server Basic and comes in either Workgroup or Enterprise editions. –  Chris M Jul 23 '10 at 13:09
add comment

3 Answers

up vote 19 down vote accepted

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!

share|improve this answer
1  
You would be infringing on ESRI licensing if you access the data directly and not through the SDE service. –  CrazyEnigma Jul 23 '10 at 22:07
7  
There is no infringement. ESRI direct connect uses no SDE service (at least at the server end). Moreover, they have published many articles on using PostGres, MSSQL, and WKT as the spatial storage type while using SDE which allows you to communicate with the spatial data directly. And more then once I have had to clean up SDE by accessing data directly when it broke. Another benefit to spatially enabled databases is that the database can do the work rather than bringing all the data into a client and having it do the work. –  westyvw Jul 27 '10 at 0:09
2  
@CrazyEnigma: citation needed. –  Derek Swingley Aug 7 '10 at 5:45
    
great desciption of SDE vs ST Geometry @mwalker Thanks –  CDBrown Jan 16 '11 at 23:48
    
re: spatial references, I think that it is the opposite. Spatial references in PostGIS are standard and the SRIDs are the same as EPSG codes for applicable SRS. With SDE, at least at 9.3x, the SRIDS incorporate extents, etc. so you may have two different SRIDs for the same Spatial Reference System. This causes issues if you want to use spatial SQL. –  DavidF Mar 30 '11 at 18:05
add comment

Here's my one line answer: Use SDE when you need multi-user access to your geospatial data.

Let's say you want multiple users to edit your data: use SDE. Let's say you want to serve data to and allow it to be edited over the web: use SDE. If you're a small shop, with one GIS guy, don't use SDE.

If you're the only person using your spatial data, SDE isn't for you. If you don't need multi-user editing, SDE isn't for you. You're better off using a file GeoDatabase.

As for trade-offs...SDE is not trivial to set up or manage. You have to use a RDBMS.

SDE is meant for larger organizations where one database is needed but several users need to access and update/edit data.

share|improve this answer
    
I mean Arc products is quite bad when it comes to multi-usr environments. There seems to be a lot of things taht can't be done while people are connected. If performance and robust multi user environment is important there have to be better letting the RDBMS do all the work not involving some dirty middle ware just slowing things down and putting locks on everything. But it looks fancy I have to admit, the box I mean :-) –  Nicklas Avén Jan 13 '11 at 11:07
    
I agree with Nicklas. Your comparison makes sense within the Arc world, but SDE is not great with multi users. A spatially enabled RDBMS like PostGIS has advantages in this arena. Have you ever tried to grant a user rights to a SDE data set that someone else is viewing? –  DavidF Mar 30 '11 at 14:31
    
Yes, I've run into the issue you're describing with granting privileges. Not sure if it's still a problem as I haven't had to administer an SDE GDB in a couple of years. Grants should not be blocked by locks. How does postgres/postgis deal with multi-user editing? –  Derek Swingley Mar 30 '11 at 18:31
add comment

Nowadays most spatial dbs allows multiple spatial columns in one tables, while SDE sticks to one spatial column for one table. They also have spatial data integrated with their flexible and powerful data management tools, which SDE lacks, such as user sachems, data replication, SQL support and etc.

ESRI SDEBinary is the fast performer. If it comes to ST_GEOMETRY, SDE may not have the best performance.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.