1 / 58

Introduction to ArcSDE

Learn about ArcSDE, a software product from ESRI that stores and manages spatial data in a relational database management system (RDBMS) and serves as a gateway between ArcGIS applications and the RDBMS. Explore its features, benefits, and integration within the ArcGIS system.

dsharkey
Download Presentation

Introduction to ArcSDE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Introduction to ArcSDE Environmental, Earth & Ocean Science 381 - Spring 2011 - EEOS 381 Spring 2011 – Lecture 6

  2. What is ArcSDE? • Software product from ESRI • “Spatial Database Engine” • Part of ArcGIS system • Stores and manages spatial data in a commercial RDBMS • Interface or gateway (“middleware”) between ArcGIS applications and an RDBMS • Oracle, Microsoft SQL Server and SQL Server Express, IBM DB2, IBM Informix • PostgreSQL (Open Source RDBMS, supported at 9.3+) EEOS 381 Spring 2011 – Lecture 6

  3. What is ArcSDE? • Typically installed on a server (for the Enterprise version) • Windows • Unix, Linux • Desktop and Workgroup SDE can be installed on your own PC as well ArcSDE GDBs have all functionality of file and personal GDBs EEOS 381 Spring 2011 – Lecture 6

  4. What is ArcSDE? • ESRI definition: • ArcSDE technology is a core component of ArcGIS Server. It manages spatial data in a relational database management system (RDBMS) and enables it to be accessed by ArcGIS clients. • It is the technology that provides the framework to support long transactions, which facilitates the versioned editing environment in multiuser geodatabases. The geodatabase is the primary data storage model for ArcGIS; it providesa single central location to access and manage spatial data. EEOS 381 Spring 2011 – Lecture 6

  5. What is ArcSDE? • A geographic data server • “Enterprise geodatabase” • many users, large volume of data, accessed across an entire organization or over Internet (“scalable”) • RDBMS physically stores relational tables • vector, raster, tabular data (expanding functionality of RDBMS), metadata, … • ArcSDE “interprets” the contents for use in GIS software • ArcGIS, ArcIMS, ArcView 3.x (via Database Access extension) and ArcInfo Workstation EEOS 381 Spring 2011 – Lecture 6

  6. ArcSDE as Part of ArcGIS The 3-tier architecture EEOS 381 Spring 2011 – Lecture 6

  7. ArcSDE as Part of ArcGIS The 3-tier architecture From 9.2 forward, ArcSDE is bundled with ArcGIS Server. ArcSDE is no longer sold as a separate product. EEOS 381 Spring 2011 – Lecture 6

  8. Benefits of ArcSDE • Centralized spatial database • Large volume of data • Seamless, non-tiled layers • Rapid spatial searching • Storage and integration of vector, raster, tabular data • Database and application portability • Concurrent access for MANY users • Versioning/Multi-user editing • Clients connect over TCP/IP network (e.g. WEB) • “Direct connect” also available EEOS 381 Spring 2011 – Lecture 6

  9. Benefits of ArcSDE • Use of robust RDBMS environment • Security, backup and recovery • Scalability, Indexing • Referential and data integrity • Can access GIS attribute data at the db level via SQL*Plus, OSQL, or in MS Access with ODBC connection, etc. • Link to data in existing RDBMS • Supports long transactions and Views • SDE administrators may be assisted by system administrators and RDBMS administrators EEOS 381 Spring 2011 – Lecture 6

  10. Benefits of ArcSDE • Spatial queries directly at SQL prompt if RDBMS supports spatially-enabled data types • Oracle Spatial, DB2 Spatial Extender, Informix Spatial DataBlade, SQL Server 2008 spatial data type • Use C, Java API for custom app. dev. • Fully integrated with ArcGIS • Can batch data import/export and other processes using Administrator Commands EEOS 381 Spring 2011 – Lecture 6

  11. Drawbacks of ArcSDE • Requires separate purchase of RDBM$ • Need a DBA or be trained in your RDBMS software for backups, tuning (require time, money, expertise) • Can take a while to master intricacies, work around errors • May require re-working of legacy applications that may not be broken * • May require VBA/ArcObjects or other programming skills to customize ** - for ArcGIS/GDB in general EEOS 381 Spring 2011 – Lecture 6

  12. Types of ArcSDE(ArcSDE GDBs are Scalable) N E W @ 9 . 2 EEOS 381 Spring 2011 – Lecture 6

  13. Accessing ArcSDE Enterprise Personal/Desktop and Workgroup EEOS 381 Spring 2011 – Lecture 6

  14. Accessing ArcSDE • How to connect to read-only data in Enterprise ArcSDE in the labs: • Double-click "Add Spatial Database Connection" from the "Database Connections" in ArcCatalog or ArcMap. • Enter the parameters as shown in the image at right. • Note: the Password is the same as the User Name – datareader • To connect to your data (to edit), you would enter your username and password • Click Test Connection. If the “Connection Succeeded” message appears, it worked. • Click OK. • These parameters get saved to a .sde file in your profile (on the C: drive). You can copy this file to H: for use on any PC.You can use the datareader@lassen-pea connection in S:\ge381_s11\ See note below lassen-pea If Service not found, use 5151 instead of esri_sde EEOS 381 Spring 2011 – Lecture 6

  15. ArcSDE Feature Classes • GDB “container” for vector data • One geometry type (point, line, polygon, annotation, etc.) per feature class, and attributes • Owned by RDBMS users (i.e. Oracle accounts, like MGISDATA) • Stored as series of tables in the RDBMS • Joined at query time so that the client (i.e. ArcCatalog) sees one object (layer) in the geodatabase • One row is one feature (single or multi-part) • Spatial column identifies geometry • “SHAPE” field • in RDBMS, actual coordinates stored in BLOB (binary long object) or long raw formats shape + attributes = feature EEOS 381 Spring 2011 – Lecture 6

  16. ArcSDE Feature Classes • Types of storage • ST_GEOMETRY • Base table with attributes and spatial column, and spatial index • Default at version 10 • SDELOB (binary geometry type) • Business (attributes), F (spatial), and S (spatial index) tables For more details see: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Feature_class_storage/002n0000007m000000/ EEOS 381 Spring 2011 – Lecture 6

  17. Feature class tables in the RDBMS (SDELOB storage) • Business table • stores attributes • name in RDBMS is feature class name (e.g.TOWNS_POLY), as seen in ArcGIS. Its actual appearance depends on the RDBMS: • Oracle:OWNER.TABLENAME • Ex:MGISDATA.TOWNS_POLY • SQL Server:DATABASE.OWNER.TABLENAME • Ex:SDE.MGISDATA.TOWNS_POLY EEOS 381 Spring 2011 – Lecture 6

  18. Feature class tables in the RDBMS (SDELOB storage) • Feature table (“F” table) • stores geometry in binary column (X,Y,Z,M values), plus envelope (bounding rectangle) for each feature, area & length • named F<layer_id> in RDBMS (layer_id is primary key in SDE.LAYERS table) • one-to-one relationship between business and F table, via unique feature identifier (“OBJECTID”, always indexed) EEOS 381 Spring 2011 – Lecture 6

  19. Feature class tables in the RDBMS (SDELOB storage) • Spatial index table (“S” table) • stores grid tiles and envelope (X/Y extent of each tile) • named S<layer_id> in RDBMS • one-to-many relationship between F and S table • used during spatial searches (pan/zoom) for optimum data retrieval EEOS 381 Spring 2011 – Lecture 6

  20. Spatial Indexes • Clients use spatial filter to reduce query results and speed up data retrieval • Ex.: Only fetch visible features for display • ArcSDE uses spatial index to reduce I/O • Eliminates need for full table scan • Based on standard feature of RDBMS • Format of the spatial index is determined by the RDBMS being used • Grid tile or R-tree (Oracle Spatial) structure EEOS 381 Spring 2011 – Lecture 6

  21. Spatial Indexes • ArcSDE for Oracle uses grid tile structure • Spatial index built by applying a grid to the feature class • ArcSDE records which features fall within each grid cell in an index table (“S” table), based on feature envelope • A feature that falls within many cells is listed in each • Grid cells with no data are not listed in table • A layer may have 1 to 3 index grids, though usually one is sufficient • When you create a vector feature class, ArcGIS automatically determines the optimum grid cell size (in the units of the data, e.g. feet, meters) and the number of grids. The feature class is overlaid by grid cells to create the spatial index. EEOS 381 Spring 2011 – Lecture 6

  22. Feature class tables in the RDBMS (SDELOB storage) • “Adds” table (“A” table) • stores added features during ArcMap versioing edit session • “Deletes” table (“D” table) • stores deleted features during ArcMap versioning edit session aka Delta (change) tables NamedA<registration_ID>andD<registration_ID> (registration_ID is primary key in SDE.TABLE_REGISTRY table) EEOS 381 Spring 2011 – Lecture 6

  23. ArcSDE Feature Classes • ArcSDE manages integrity of tables (i.e. when a layer is renamed, deleted, edited) • users should never alter these tables’ schemas • i.e. add columns to layers in ArcCatalog or ArcMap only !! • You CAN use SQL*Plus or MS Access to edit business table attributes (and to add rows to non-feature class tables – but be careful! EEOS 381 Spring 2011 – Lecture 6

  24. ArcSDE Feature Classes • Additional column indexes may be built on attributes in business table Improves performance when using joins, relates, and relationship classes. EEOS 381 Spring 2011 – Lecture 6

  25. Loading Data into ArcSDE • Use ArcToolbox Conversion Tools > To Geodatabase • Right-click spatial database connection and choose Import • Supported data types or XML docs • Right-click existing SDE layer and choose Load > Load Data… • Create new empty FC with desired schema (can import from a table) and Load in features from any data source • Right-click non-SDE layers and choose Export > To Geodatabase • Use SDE commands • shp2sde, cov2sde, tbl2sde (for tables) • Use special tools/dialogs for labels and annotation EEOS 381 Spring 2011 – Lecture 6

  26. After Loading Data into ArcSDE • Right-click and • Assign privileges to data – way to control access • Enter db user or role • Check SELECT, UPDATE, INSERT, DELETE • Analyze • Updates DBMS statistics • Check/clear components to analyze • Rename layers? • Loaded data named the same as existing data will have “_1” in new name • Take a look at the data!!! EEOS 381 Spring 2011 – Lecture 6

  27. Raster Data in the RDBMS >> ArcSDE/GDB raster layers are known as “raster datasets” EEOS 381 Spring 2011 – Lecture 6

  28. Raster Data in the RDBMS • Benefits • RDBMS security, data management and retrieval • Common data format • Supports large seamless images (mosaics) or raster catalogs • Compression • LZ77 lossless or lossy • JPEG and JPEG 2000 lossy • Pyramids stored in database for improved display performance EEOS 381 Spring 2011 – Lecture 6

  29. Raster Data in the RDBMS • Loading • ArcCatalog / ArcToolbox (all supported formats) • Use sderaster command (for 1 to 3-band TIFF, BSQ, or ArcSDE raster) • Then: • Build Pyramids • Calculate Stats • Analyze Pyramids enable fast display at any scale EEOS 381 Spring 2011 – Lecture 6

  30. Raster Data in the RDBMS • SDE.RASTER_COLUMNStable … • Stores information on every raster dataset in the database, one entry per dataset • Each layer has unique ID - RASTERCOLUMN_ID - assigned by ArcSDE For more details see: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/Raster_storage_types_in_an_ArcSDE_geodatabase/002n0000006v000000/ EEOS 381 Spring 2011 – Lecture 6

  31. Raster Data in the RDBMS • … and a series of many tables • Raster layer Business table(OWNER.IMAGE_NAME – as seen in ArcGIS) • Link between supporting tables and RASTER_COLUMNS table • Raster layer Block Table(SDE_BLK_<RASTERCOLUMN_ID>) • Stores actual pixel data • Raster layer Metadata Table (SDE_RAS_<RASTERCOLUMN_ID>) • contains raster description • Raster layer Band Table(SDE_BND_<RASTERCOLUMN_ID>) • Information about each raster band • Raster layer Auxiliary table(SDE_AUX_<RASTERCOLUMN_ID>) • Stores colormaps and statistics EEOS 381 Spring 2011 – Lecture 6

  32. ArcSDE Uses Client/Server Model • All data stored in RDBMS accessed over a TCP/IP network • All data is retrieved through SQL (Structured Query Language) queries • SELECT statements fetch data (see pages 259-260 in textbook) • Query filters limit the rows returned • Attribute and Spatial • Clients display data • Two connection methods • Application Server • Direct Connect EEOS 381 Spring 2011 – Lecture 6

  33. ArcSDE Application Server Connection ArcGIS • Traditional ArcSDE connection method • Available for all supported RDBMS • GIS client requires no additional software • Server requires ArcSDE instance • giomgr spawns one dedicated gsrvr process per connection, using RDBMS authentication • Performance considerations • Decreases client load • Decreases network load • Increases server load • Link between application and database • Processes client requests • Sends data from client to server • Updates & maintains ArcSDE metadata • Active until user disconnects TCP/IP network 5151 ArcSDE gsrvr RDBMS server • Listens for, monitors, and maintains connections, spawns gsrvr processes Data ArcSDE giomgr EEOS 381 Spring 2011 – Lecture 6

  34. ArcSDE Direct Connect • Client connects directly to RDBMS • Client does its normal job AND performs function of the gsrvr, using a software library called a Direct Connect driver • No ArcSDE instance used • No gsrvr or giomgr processes required on server • Performance considerations • Increases client load • Increases network load • Decreases server load (most appropriate for robust clients on hearty computers) ArcGIS client (with Direct Connect Driver) RDBMS For more details start with: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_direct_connection_to_a_geodatabase_in_Oracle/002n00000035000000/ EEOS 381 Spring 2011 – Lecture 6

  35. Services File • Stores port number (5151) used by ArcSDE for communication between client and RDBMSAdd the following line:esri_sde 5151/tcpto the SERVICES file inC:\WINDOWS\SYSTEM32\DRIVERS\ETCor C:\WINNT\system32\drivers\etcor other similar location. EEOS 381 Spring 2011 – Lecture 6

  36. SDE.DBTUNE Table • RDBMS table (owned by SDE user) that stores storage tuning parameters in an enterprise ArcSDE geodatabase • Based on keywords • “DEFAULTS” used for all feature classes loaded without keyword specified • Different keywords can be set up by the SDE administrator for vector data, raster data, topology, and for different users and editors • Control where data are stored - i.e. which tablespace (Oracle) or file group (SQL Server) for feature tables, indexes. • If you want users to be able to write to (i.e., store data in) certain parts of a database, the SDE administrator would set up a keyword (like ##STUDENTS), and in ArcGIS dialogs that have a dropdown or textbox to specify a configuration keyword, the user would enter STUDENTS. EEOS 381 Spring 2011 – Lecture 6

  37. ArcSDE Repository • Administrative information • Feature class name • Unique feature class ID, etc. … • AKA “ArcSDE system tables” sde.raster_columns A few of the many tables owned by the sde user sde.table_registry sde.layers LAYER_ID TABLE_NAME ... See system tables diagram at: http://help.arcgis.com/en/arcgisdesktop/10.0/help/002n/pdf/sdesystables_diagram.pdf Full details at: http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/ArcSDE_geodatabase_system_tables/002n0000008m000000/ EEOS 381 Spring 2011 – Lecture 6

  38. ArcSDE Administration Tools • Command-line utilities for managing the ArcSDE server • Executed at operating system prompt • May be used remotely • Command syntax found in the ArcSDE Developer Help • See http://help.arcgis.com/en/geodatabase/10.0/admin_cmds/support_files/admincmdref.htm • Benefits • Easy to format • Easy to debug • Reusable • Record of work (can write output to log files) • Unattended execution (can batch) EEOS 381 Spring 2011 – Lecture 6

  39. ArcSDE Administration Tools • Example: the sdemon command • Purpose: ArcSDE server monitor, used to check connection statistics. The sytax is:sdemon -o info -I <{users | config | stats | locks }> [-I <instance>] • Required parameter sdemon -o info • Optional parameter [ ] • Substitute a value < > • Choose a value from list for the <instance> argument:-I <{users | config | stats | locks }> • Others: sderaster, cov2sde, shp2sde, sdeexport, sdeimport, sdelayer, sdetable, ... EEOS 381 Spring 2011 – Lecture 6

  40. Versioning • ArcSDE Geodatabase mechanism to allow multiple users to simultaneously edit the same database, including the same layers and features, without explicitly applying locks to prohibit other users from modifying the same data • Part of “multi-user editing” capability of SDE geodatabases • No need to extract or make copies of data for editing EEOS 381 Spring 2011 – Lecture 6

  41. Versioning • What is a “version”?: • “In databases, an alternative state of the database that has an owner, a description, a permission (private, protected, or public), and a parent version. Versions are not affected by changes occurring in other versions of the database.” - From ESRI GIS Dictionary • You can think of a version as your own “doorway” to the database, allowing you to make changes that don’t affect the database as a whole. • Also see ESRI Help: • http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/What_is_a_version/00270000000q000000/ • http://help.arcgis.com/en/arcgisdesktop/10.0/help/index.html#/A_quick_tour_of_versioning/00270000000r000000/ EEOS 381 Spring 2011 – Lecture 6

  42. Versioning • Use versioning to: • Manage alternative engineering designs • Solve complex what-if scenarios without impacting the production database • Create point-in-time representations of the database • Conflict resolution dialog allows DBA to choose proper version EEOS 381 Spring 2011 – Lecture 6

  43. Versioning • Versions are not copies of the database or layers • Only store edits made to database in A and D tables • Versions are named • default version (always present) is SDE.DEFAULT • syntax: OWNER.VERSION_NAME • AKA a named “state” of the database • Maintain parent-child relationships (see chapter 7 in Modeling Our World and chapter 10 in Building A Geodatabase) EEOS 381 Spring 2011 – Lecture 6

  44. Versioning • Isolates user's work across multiple edit sessions, allowing the user to edit without locking features in the production version or immediately impacting other users. • Supports undo/redo capability • Multiple users can access a version • A user may access multiple versions • What the user can do is based on version permissions • Contains access to all the datasets in the geodatabase EEOS 381 Spring 2011 – Lecture 6

  45. Versioning • Versions have permissions: • Public - any user may view the version and modify features • Protected - Any user may view version, only the owner may edit • Private - Only the owner may view the version and modify features • Notes: • Version owner can rename, delete, change access • SDE user can see and delete all versions regardless of their permissions EEOS 381 Spring 2011 – Lecture 6

  46. Versioning • How tables react to edits: • Insert (add) feature • record (OBJECTID) added to A table • Delete feature • record (OBJECTID) added to D table • Update feature • records (OBJECTIDs) added to A and D tables EEOS 381 Spring 2011 – Lecture 6

  47. Versioning Process Step 1 – Data Owner • In ArcCatalog: • Register data with geodatabase, if necessary • Register data as Versioned (makes data editable) • A & D tables added to feature class: • A<registration_ID> stores adds • D<registration_ID> stores deletes • Grant SELECT, UPDATE, INSERT, DELETE privileges to all editors To register an object as versioned, right-click it in ArcCatalog and choose ‘Register As Versioned…’. You must be connected as the owner of the dataset. EEOS 381 Spring 2011 – Lecture 6

  48. Versioning Process Step 2 - Editor • Create version, set permission (ArcCatalog) • Change version in your spatial database connection and add feature class (or feature dataset) to ArcMap • Make and save edits in ArcMap • From Versioning Toolbar in ArcMap: • Reconcile with parent (other edits in parent seen by child) • Post changes to parent (changes in child seen by parent) • parent owner needs to do this if parent version is not ‘public’ • parent makes version of child and posts EEOS 381 Spring 2011 – Lecture 6

  49. SDE.DEFAULT (PROTECTED) Versioning Process – Editing SCOTT.OS_DBA (Protected) MTRUST.MYEDITS (protected) JKERRY.MYEDITS (protected) Layer edited and saved SCOTT.MTRUST_QA (protected) SDE.READY_FOR_DEFAULT EEOS 381 Spring 2011 – Lecture 6

  50. Versioning Process Step 3 – SDE user • Compressing the Database • Done as SDE user, with Compress button added to a toolbar from Customize box in ArcCatalog, or with ArcToolbox tool • Moves records in A & D tables into base (business, F, & S) tables • Removes all redundant rows and states not referenced by a version • Improves performance • Two types: • Full compress: When editing is done and all reconciling and posting is complete, after deleting all versions • Partial compress: done anytime, but locks may prevent deletion of certain states • Analyze data after compression • Note: “Compact” is procedure for PGDBs EEOS 381 Spring 2011 – Lecture 6

More Related