The multi-user geodatabase, like the single user geodatabase can store tables, feature classes, feature datasets, and functionality such as rules, relationships, and geometric networks. Advanced feature types are supported such as geometric and logical networks, true curves, complex polylines, and user-defined features. ArcSDE technology provides additional geodatabase functionality that is not available in single-user geodatabases. This includes:
Versioning -- With versioning, a multiuser geodatabase can manage and maintain multiple states while preserving integrity in the database. A version represents an alternative, independent, persistent view of the geodatabase; supports multiple concurrent editors; and does not involve data duplication. Versioning is the default editing environment in a multiuser geodatabase. It explicitly records states of individual features and objects as they are modified, added, and/or retired. It is the framework that enables multiple users to access and edit the same data simultaneously and provides support for long transactions (i.e., database changes that span long periods of time). Simple queries are used to view and work with any desired state for a particular point in time or see an individual user's current edits. This capability allows a GIS user to create versions of a geodatase for the stages of a project, reconcile differences between versions, and update the master version of a geodatabase. See Understanding versioning for more information about this topic.
Geodatabase Replication -- This is a data distribution method provided through the ArcGIS system. With geodatabase replication, GIS data can be distributed across two or more geodatabases in a manner that allows them to synchronize any data changes that are made. This functionality is built on top of the versioning environment and supports the full geodatabase data model, including geospatial relationships, such as topologies and geometric networks. Three types of replication workflows are available: two-way, one-way, and checkout/check-in replication. In this asynchronous model, the replication is loosely coupled; this means that each replicated geodatabase can work independently and still synchronize changes with one another. Since geodatabase replication functionality is implemented at the ArcGIS software level, the RDBMS platforms involved can be different. For example, a user could replicate data from a multiuser geodatabase implemented on Oracle to a multiuser geodatabase implemented on SQL Server. Geodatabase replication can be used in connected and disconnected environments. It works with local geodatabase connections over a network, as well as over the Internet, using geodata services available in ArcGIS Server.
Geodatabase Archiving -- When enabled on a dataset, geodatabase archiving captures any and all changes made to the dataset in the default version of the multiuser geodatabase. The edits are recorded in an archive class, which is a duplicate copy of the original dataset. The archive class contains additional fields that record a feature's edit history in the geodatabase. This functionality can be used with historical versions in the geodatabase. A historical version provides a read-only view of the geodatabase at a specific moment in time. See Geodatabase archiving for more information.
Long and Short Transaction Management -- The ArcSDE geodatabase includes advanced support for situations when added users and the requirement to manage data from an array of sensor networks, for example, makes the need for transaction management more critical. In GIS, besides the more common, short database transactions (spanning seconds or minutes) that are orchestrated on the DBMS's short transaction framework, long transactions that span long periods of time (hours, even days and months) may be needed. In addition, a single editing session in a GIS can involve changes to multiple rows in multiple tables that may need to be undone and redones. Users may want to treat each edit session as a single transaction when they commit their changes in a system that is disconnected from the central, shared database. During these specialized GIS data flow processes, the GIS database must remain continuously available for daily operations, where each user might have a personal view or state of the shared GIS database. ArcSDE plays a key role during these operations by managing the high-level, complex GIS transactions on the simple DBMS transaction framework. ArcSDE does this by storing change information as delta records in the database; isolating multiple edit sessions using versions; and supporting complex transactions, automatic archive, and historical queries. See An overview of editing and maintaining data for more information.
Other functionality associated with ArcSDE geodatabases include the capability to define topological and associative relationships and rules that determine how feature classes interact. Relationships are associations between two objects in a feature dataset, either nonspatial objects or spatial features. By defining relationships, referential integrity is ensured in the geodatabase. Four broad types of validation rules for maintaining database integrity are supported including validation rules, network connectivity rules, relationship rules, and custom rules. See Working with the Geodatabase: Powerful Multiuser Editing and Sophisticated Data Integrity for more information about how to use rules and relationships, and how to facilitate multi-user editing in ArcSDE geodatabases.