Versioning
Essential information about ArcSDE geodatabases
By Derek Law, Esri Product Management
101
Editor's note: Rather than a comprehensive discussion of versioning, this article presents the key concepts about ArcSDE geodatabase versioning including version creation; version workflows; reconciliation and post; states; and compress operations.
Geodatabase
Figure 1: At a conceptual level, ArcSDE geodatabases have a multitier architecture that implements advanced logic and behavior in an application tier on top of a data storage tier. The application tier consists of ArcObjects and ArcSDE technology, while the data storage tier is comprised of database management system (DBMS) software. ArcSDE geodatabases utilize the simple, formal data model of a DBMS for storing and managing information in tables. They also leverage DBMS support for multiuser transaction processing.
ArcObjects ArcSDE Technology RDBMS
Application Tier Data Storage Tier
What Is Versioning?
Versioning is the mechanism that enables concurrent multiuser geodatabase editing in ArcSDE geodatabases. It uses an optimistic concurrency data-locking model, which means no locks are applied to affected features and rows during long transactions. It is the default editing environment in enterprise ArcSDE geodatabases and supports complex editing workflows that are required by enterprise GIS systems. Versioning records and manages states of individual features and rows as they are edited while preserving integrity in the database. It is the basis for multiple users accessing and editing data simultaneously in enterprise ArcSDE geodatabases. Conceptually, a version of the geodatabase represents an alternative, independent, persistent view of the geodatabase. It supports multiple concurrent editors and does not involve creating a copy of the data. A version references a specific state of the geodatabase. It contains all the datasets in the geodatabase and evolves over time. Users access data in an enterprise ArcSDE geodatabase through a version. Behind the scenes, simple queries in the underlying DBMS are used to view and work with the referenced state for a particular point in time or to see an individual user's current edits.
Note: Database transactions represent a package of work that makes changes to databases. Most database transactions occur within a very short time period, often within seconds. A state is a unit of change (i.e., an edit) that is performed on data in the geodatabase. It represents a discrete snapshot of the database whenever a change is made.
42 ArcUser Winter 2010
www.esri.com