Geodatabase Versioning, Replication and History - Northeast Arc ...
Geodatabase Versioning, Replication and History - Northeast Arc ...
Geodatabase Versioning, Replication and History - Northeast Arc ...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
<strong>Geodatabase</strong> <strong>Versioning</strong>, <strong>Replication</strong><br />
<strong>and</strong> <strong>Arc</strong>hiving (<strong>History</strong>)<br />
NEARC 2007 ESRI Technical Session<br />
ESRI , Boston<br />
2007 ESRI NEARC 1
Brief Overview<br />
• <strong>Geodatabase</strong>s<br />
– Types of geodatabases<br />
– What is a geodatabase<br />
• Editing environments<br />
2007 ESRI NEARC 2
Defining the geodatabase (GDB)<br />
• Container of spatial & attribute data<br />
– Collection of geographic datasets<br />
• Native data structure for <strong>Arc</strong>GIS<br />
• Provides the ability to:<br />
– Leverage data relationships<br />
– Enforce data integrity<br />
– Create intelligent features<br />
Vectors<br />
Networks<br />
Surveys<br />
Addresses<br />
Annotation<br />
3D Objects<br />
Attribute<br />
Topology<br />
Dimensions<br />
<strong>Geodatabase</strong><br />
Terrain<br />
Cadastral<br />
Cartography<br />
Images<br />
CAD<br />
2007 ESRI NEARC 3
<strong>Geodatabase</strong> options at <strong>Arc</strong>GIS 9.2<br />
• MS Access-based personal GDB<br />
• File GDB<br />
• <strong>Arc</strong>SDE GDB - 3 editions:<br />
– Personal, Workgroup: SQL Server Express<br />
– Enterprise: DB2, Informix,<br />
Oracle, SQL Server, PostgreSQL (9.3)<br />
<strong>Arc</strong>GIS Server<br />
<strong>Arc</strong>GIS Desktop<br />
Personal<br />
(Access)<br />
File<br />
File<br />
Personal<br />
<strong>Arc</strong>SDE<br />
Workgroup<br />
<strong>Arc</strong>SDE<br />
Enterprise<br />
Enterprise<br />
<strong>Arc</strong>SDE<br />
Capacity<br />
Number of users<br />
2007 ESRI NEARC 4
Enterprise <strong>Arc</strong>SDE <strong>Geodatabase</strong><br />
Required software environment<br />
<strong>Arc</strong>Objects<br />
<strong>Arc</strong>SDE<br />
DBMS<br />
<strong>Arc</strong>SDE<br />
<strong>Geodatabase</strong><br />
Operating system<br />
2007 ESRI NEARC 5<br />
A
Overview<br />
• <strong>Geodatabase</strong>s<br />
• Editing environments<br />
– Non versioned Editing<br />
– Versioned Editing<br />
– Move to base Editing<br />
2007 ESRI NEARC 6
Editing options<br />
• Non-versioned editing (9.2)<br />
– Edit the base table directly<br />
– Supports short transaction workflows<br />
– Edits immediately available upon save<br />
• Versioned editing<br />
– Available since 8.0<br />
– Supports long transaction workflows<br />
– Lineage of change maintained by SDE tables<br />
• Move to base (9.2)<br />
– If non Default version, preserves any edits to a feature class<br />
– Upon save or post to DEFAULT, edits are moved to the base table<br />
2007 ESRI NEARC 7
Overview<br />
• <strong>Geodatabase</strong>s<br />
• Editing environments<br />
– Non versioned Editing<br />
– Versioned Editing<br />
– Move to base Editing<br />
2007 ESRI NEARC 8
Introducing Non–Versioned Editing<br />
New@9.2<br />
• Preserves only last set of edits made to a Feature Class<br />
• Suggested for Non-ESRI client interaction<br />
• Uses the underlying database transaction model<br />
– Edits immediately available upon save<br />
• Simple data only<br />
– Points, lines, polygons, annotation, relationship classes<br />
– NO Topology, Geometric Networks…etc<br />
etc<br />
• No <strong>Arc</strong>hiving, <strong>Geodatabase</strong> <strong>Replication</strong><br />
• No Conflict Detection<br />
2007 ESRI NEARC 9
Editing in a non-versioned environment<br />
• <strong>Versioning</strong> tab - Edit with no undo/redo ability<br />
• Start Edit Session<br />
• Exclusive database lock when updating feature<br />
– Lock held until edit session is saved or rolled back<br />
• Hourglass<br />
lingers; does not time out<br />
• Save changes - commit in database<br />
• Stop editing with outst<strong>and</strong>ing - rollback changes<br />
Blocked<br />
2007 ESRI NEARC 10
No undo/redo<br />
• Edits between save operations are a single transaction<br />
– Committed (upon save)<br />
– Or rolled back (upon stop editing without saving)<br />
Undo/redo not available during<br />
edit session<br />
Stop editing – commit or rollback<br />
Three edits in<br />
current edit session<br />
2007 ESRI NEARC 11
Workflow considerations<br />
• Concurrency issues must be identified<br />
– Design workflow to attempt to minimize blocking<br />
• To spatially distribute your editors<br />
– Blocking related to DBMS isolation levels<br />
– Insert hyperlink to concurrency & locking<br />
• No conflicts<br />
– Minimize lost updates by designing workflow<br />
• Integrating non-ESRI applications<br />
– Edits saved immediately to base tables<br />
– Allows for easy integration with non-ESRI applications<br />
– Can use DBMS behavior to enforce integrity<br />
• Compress not necessary<br />
Editing<br />
workflow<br />
Business<br />
workflow<br />
2007 ESRI NEARC 12
IT Integration<br />
• Easy to implement<br />
• No A & D tables<br />
– Edits immediately saved to base tables<br />
• DBMS behavior is easy to implement<br />
• Easy IT integration<br />
– Non-ESRI applications see edits in base tables<br />
3 rd party<br />
applications<br />
Only see the base table:<br />
Do not underst<strong>and</strong> contents<br />
of A & D tables<br />
Base table<br />
<strong>Arc</strong>GIS editing<br />
applications<br />
Base & delta tables:<br />
Can read <strong>and</strong> edit<br />
versioned data<br />
2007 ESRI NEARC 13
Overview<br />
• <strong>Geodatabase</strong>s<br />
• Editing environments<br />
– Non versioned Editing<br />
– Versioned Editing<br />
• What is versioning<br />
• Repository <strong>and</strong> Feature Class tables<br />
• Workflow considerations<br />
• Reconcile <strong>and</strong> conflict resolution<br />
• Post<br />
• Compress<br />
– Move to base Editing<br />
2007 ESRI NEARC 14
Introducing: Versioned Editing<br />
• Intended for Multi-Editor Environment<br />
• Long transactions are enabled by<br />
– Repository tables, Application locks, Application logic<br />
– Edits stored in delta tables<br />
• Simple & Complex data<br />
– Points, lines, polygons, annotation, relationship classes<br />
– Topology, Geometric Networks, etc.<br />
• Facilitates <strong>Arc</strong>hiving & <strong>Geodatabase</strong> <strong>Replication</strong><br />
• Conflict Detection<br />
2007 ESRI NEARC 15
What versioning offers<br />
• Long transactions<br />
– Isolate work across multiple sessions<br />
• Save, reconnect, continue edits<br />
• E.g., Edits do not impact others<br />
• Model what-if<br />
scenarios<br />
– Simulate situations with versions<br />
• E.g., Disaster event planning<br />
• Workflow management<br />
– Create versions for stages<br />
• <strong>History</strong><br />
• E.g., L<strong>and</strong> development<br />
– Save snapshot of database state<br />
• E.g., Wildlife habitat monitoring<br />
Public<br />
Analyst<br />
Public<br />
Farml<strong>and</strong><br />
Flood<br />
Residential<br />
Year 1 Year 2<br />
A<br />
2007 ESRI NEARC 16
What is <strong>Versioning</strong><br />
• Storing edits without affecting the original<br />
• An alternative view of the database that has:<br />
– an owner<br />
– a description<br />
– a permission<br />
– a parent version<br />
• Versions are not affected by<br />
changes occurring<br />
in other versions of the database<br />
• Version:<br />
– A window into a database<br />
– A view into a database<br />
– A snapshot of a geodatabase<br />
Default<br />
QA<br />
2007 ESRI NEARC 17
Feature class tables in the database<br />
<strong>Arc</strong>Objects<br />
<strong>Arc</strong>SDE<br />
<strong>Geodatabase</strong><br />
DBMS<br />
2007 ESRI NEARC 18<br />
A
<strong>Versioning</strong> system tables<br />
• <strong>Arc</strong>SDE repository maintains geodatabase properties<br />
Defines different<br />
versions<br />
Lineage of<br />
state_id’s<br />
States at which<br />
tables are edited<br />
Properties of<br />
individual states<br />
Tables tracked by<br />
registration_id<br />
Compress<br />
information<br />
2007 ESRI NEARC 19
Versioned Editing Terminology<br />
• State<br />
– Unit of work<br />
– A NUMBER per edit<br />
– Made up of multiple transactions<br />
on the DB level<br />
• Lineage<br />
– Set of states belonging to a version<br />
• State tree<br />
– Logical map of states<br />
• Version<br />
• Visualization of a Lineage<br />
• State_Lineages Table<br />
– Textual pointer to a state<br />
– Represents entire lineage of edits<br />
VERSION_NAME<br />
State (base)<br />
0<br />
State<br />
1<br />
State<br />
2<br />
LINEAGE<br />
2007 ESRI NEARC 20<br />
A
Editing example: User versioning tables<br />
Riverside W<br />
#<br />
#<br />
Deletes table<br />
u Flags rows as deleted<br />
Adds table<br />
u Stores new rows<br />
Business table<br />
Riverside NE<br />
#<br />
Riverside SE<br />
#<br />
#<br />
#<br />
u Stores base data<br />
u State 0 is implied<br />
D77<br />
SDE_STATE_ID SDE_DELETES_ROW_ID DELETED_AT<br />
A77<br />
SHAPE NAME<br />
CELL_TOWERS<br />
Unique object ID<br />
u Constant for all<br />
versions of a row<br />
OBJECTID SDE_STATE_ID<br />
Database state<br />
u Identifies when<br />
row was added<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
1 Riverside NE 1 0<br />
2 Riverside SE 2 0<br />
3 Riverside W 3 0<br />
2007 ESRI NEARC 21
Editing example: INSERT<br />
D77<br />
SDE_STATE_ID SDE_DELETES_ROW_ID DELETED_AT<br />
Riverside W<br />
# #<br />
#<br />
Riverside NE<br />
#<br />
#<br />
Riverside SE<br />
#<br />
#<br />
#<br />
• Add point<br />
• Add row to A table<br />
NAME is NULL<br />
• State ID is<br />
incremented<br />
• Edits always an<br />
INSERT or DELETE<br />
A77<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
4 4 1<br />
CELL_TOWERS<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
1 Riverside NE 1 0<br />
2 Riverside SE 2 0<br />
3 Riverside W 3 0<br />
2007 ESRI NEARC 22
Editing example: DELETE<br />
Riverside W<br />
# #<br />
#<br />
Riverside NE<br />
#<br />
#<br />
#<br />
• Delete point<br />
• Add row to D table<br />
• State ID is<br />
incremented<br />
D77<br />
SDE_STATE_ID SDE_DELETES_ROW_ID DELETED_AT<br />
0 2 2<br />
A77<br />
Created at<br />
state<br />
Deleted at<br />
state<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
4 4 1<br />
CELL_TOWERS<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
1 Riverside NE 1 0<br />
2 Riverside SE 2 0<br />
3 Riverside W 3 0<br />
2007 ESRI NEARC 23
Editing example: UPDATE<br />
Riverside W<br />
#<br />
Riverside Mid<br />
#<br />
#<br />
Riverside NE<br />
#<br />
#<br />
#<br />
• Add attribute<br />
• Both edits occur<br />
at same new state<br />
•Add row to A table<br />
•Add row to D table<br />
• OBJECTID is same<br />
• SHAPE is same<br />
D77<br />
SDE_STATE_ID SDE_DELETES_ROW_ID DELETED_AT<br />
0 2 2<br />
1 4 3<br />
A77<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
4 4 1<br />
4 Riverside Mid 4 3<br />
CELL_TOWERS<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
1 Riverside NE 1 0<br />
2 Riverside SE 2 0<br />
3 Riverside W 3 0<br />
2007 ESRI NEARC 24
Editing example: Save<br />
Riverside W<br />
#<br />
#<br />
Riverside Mid<br />
#<br />
Riverside NE<br />
#<br />
#<br />
#<br />
D77<br />
SDE_STATE_ID SDE_DELETES_ROW_ID DELETED_AT<br />
0 2 3<br />
1 4 3<br />
• Save edits<br />
• Unneeded rows<br />
removed from<br />
delta tables<br />
• States renumbered<br />
to most recent ID<br />
•DELETED_AT<br />
updated to 3<br />
A77<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
4 4 1<br />
4 Riverside Mid 4 3<br />
CELL_TOWERS<br />
SHAPE NAME OBJECTID SDE_STATE_ID<br />
1 Riverside NE 1 0<br />
2 Riverside SE 2 0<br />
3 Riverside W 3 0<br />
2007 ESRI NEARC 25
Workflow considerations<br />
• Edit DEFAULT<br />
– Simplest to manage<br />
– Deal with conflicts immediately<br />
• Two – tier version tree<br />
– DEFAULT represents master<br />
– Deal with conflicts upon reconcile<br />
• Two – tier version tree – Variation<br />
– Protect DEFAULT with a proxy<br />
– Deal with conflicts upon reconcile<br />
DEFAULT<br />
DEFAULT<br />
DEFAULT<br />
Represents a version<br />
2007 ESRI NEARC 26<br />
A
Example: business cycle workflow<br />
DEFAULT<br />
<strong>History</strong><br />
Version<br />
Daily Edits<br />
Long term project<br />
Represents a version<br />
2007 ESRI NEARC 27<br />
A
Merging changes – reconcile & post<br />
• <strong>Arc</strong>Map includes<br />
methods for merging<br />
versions<br />
– Reconciles with <strong>and</strong><br />
posts changes to target<br />
version<br />
• Depends on workflow<br />
– Tools available to<br />
resolve conflicts<br />
Edit (child) version<br />
Edit (child) version<br />
Reconcile pulls changes<br />
from target into edit version<br />
Target (parent) version<br />
Target (parent) version<br />
Post pushes changes<br />
from edit into target version<br />
2007 ESRI NEARC 28<br />
A
<strong>Versioning</strong> – reconcile procedure<br />
• Functionality in <strong>Arc</strong>SDE geodatabases<br />
• Incorporates edits from parent (target) version to<br />
child (edit) version<br />
– Can reconcile against any ancestor version<br />
– Performed in an edit session<br />
– Can undo changes<br />
– Must be done before a post operation<br />
• Detects differences & discovers conflicts<br />
• Must be the only user currently<br />
editing version to execute<br />
Plan1<br />
Child<br />
Current<br />
Parent<br />
A<br />
2007 ESRI NEARC 29
Conflict resolution dialog<br />
• Provides ability to visualize & manage conflicts from both the<br />
target & edit versions<br />
– Interactive dynamic display of each version<br />
– Common ancestor state is also viewable<br />
2007 ESRI NEARC 30
Post<br />
• Synchronizes current edit session with target version<br />
– Modifications saved to target; two versions now identical<br />
– Must be done in an edit session<br />
– Performed after reconciling with another version<br />
– Cannot be undone<br />
• Applying changes to target version<br />
– Not necessary to post; optional operation<br />
• Depends on workflow<br />
Current<br />
Parent<br />
Plan1<br />
Child<br />
A<br />
2007 ESRI NEARC 31
How often should you compress<br />
• Performs many functions<br />
– Move records from delta tables to Base<br />
• Depends on the amount of editing activity<br />
– Not unreasonable to compress every night<br />
• Executed as the “SDE” user<br />
• compress_log provides information on compress<br />
• <strong>Arc</strong>GIS clients can remain connected at 9x<br />
– <strong>Arc</strong>Map users can continue editing<br />
2007 ESRI NEARC 32
Overview<br />
• <strong>Geodatabase</strong>s<br />
• Editing environments<br />
– Non versioned Editing<br />
– Versioned Editing<br />
– Move to base Editing<br />
2007 ESRI NEARC 33
Move to Base Editing<br />
9.2<br />
• New Functionality at <strong>Arc</strong>GIS 9.2<br />
• Versioned behavior if Feature Class in non-DEFAULT<br />
version<br />
• Suggested for Non-ESRI client interaction<br />
• Simple data only<br />
– Points, lines, polygons, annotation, relationship classes<br />
• No <strong>Arc</strong>hiving, <strong>Geodatabase</strong> <strong>Replication</strong><br />
• No conflict detection<br />
• Supports undo/redo<br />
• Better IT integration with versioned editing<br />
2007 ESRI NEARC 34
Editing DEFAULT version<br />
• Start editing DEFAULT version<br />
• Edits stored in A <strong>and</strong> D tables<br />
– Each edit receives state ID<br />
– Enables undo/redo capability<br />
ZIP_CODES<br />
Base table<br />
(state 0)<br />
No edits have occurred<br />
(state 0)<br />
A40<br />
During edit session<br />
(edits in A- <strong>and</strong> D-tables)<br />
D40<br />
2007 ESRI NEARC 35
Move to Base Editing<br />
• DEFAULT version references new state<br />
– Last state of edit session<br />
• Edits referenced by DEFAULT moved to base table<br />
– Edits now at state 0<br />
ZIP_CODES<br />
OID 2—deleted<br />
Save edit session<br />
(edits now in base tables)<br />
A40<br />
D40<br />
OID 11—new feature, no attribute<br />
OID 5—updated feature geometry<br />
OID 12—new feature, new attribute<br />
2007 ESRI NEARC 36
Workflow considerations<br />
• IT integration<br />
– Use DBMS behavior to enforce integrity<br />
– Use geodatabase behavior to aid in <strong>Arc</strong>GIS editing<br />
• <strong>Versioning</strong> behavior on non DEFAULT versions<br />
• No conflict detection on DEFAULT<br />
– Option: Use surrogate for conflicts before posting to DEFAULT<br />
• Compress necessary<br />
2007 ESRI NEARC 37
Summary: <strong>Arc</strong>SDE geodatabase editing options<br />
Non-versioned<br />
editing<br />
Versioned<br />
editing with<br />
move to base<br />
Versioned<br />
editing<br />
Editable<br />
data types<br />
Simple<br />
feature classes<br />
Simple<br />
feature classes<br />
All data types<br />
Supported<br />
workflows<br />
Simple<br />
Simple & advanced<br />
with versions<br />
<strong>Arc</strong>hiving /replication<br />
not supported<br />
Simple & advanced<br />
with versions<br />
<strong>Arc</strong>hiving & replication<br />
supported<br />
DBMS<br />
transaction “type”<br />
Short<br />
(single edit session)<br />
Long<br />
(multiple edit session)<br />
Long<br />
(multiple edit session)<br />
Supports<br />
undo/redo<br />
No<br />
Yes<br />
Yes<br />
Feature class<br />
tables involved<br />
Base table<br />
Base & possibly<br />
delta tables<br />
Delta tables<br />
Supports<br />
archiving & replication<br />
No<br />
No<br />
Yes<br />
Supports DBMS<br />
data integrity<br />
features<br />
Yes<br />
Yes - when editing<br />
DEFAULT version;<br />
after save<br />
No<br />
No – when editing<br />
other versions<br />
2007 ESRI NEARC 38
<strong>Arc</strong>hiving<br />
2007 ESRI NEARC 39
Underst<strong>and</strong>ing change in the geodatabase<br />
• Ability to maintain information<br />
on how objects exist<br />
throughout time<br />
– Only required if dem<strong>and</strong>ed<br />
by your workflow<br />
– Example: Analyze how a specific<br />
feature has changed over<br />
given period of time<br />
• Answer queries about<br />
how the data has<br />
changed over time<br />
2007 ESRI NEARC 40
Common historical queries<br />
• What did the feature look like at time y<br />
– Features change over time; can time be<br />
moved back to a certain point<br />
• How has the feature changed over time<br />
– Is maintaining each change important<br />
• What was located here at time y<br />
– Compare location at different times to<br />
examine the change over time<br />
RO<br />
RO<br />
R-1-<br />
65<br />
R-1-65<br />
R-1-65<br />
R-1-65<br />
Jan 1, 2001<br />
Jan 1, 2001 August 31, 2004<br />
C-2<br />
R-1-65<br />
R-1-65<br />
What was<br />
here on<br />
Jan 1, 2001<br />
T I M E<br />
2007 ESRI NEARC 41
Pre 9.2: <strong>History</strong> through versions<br />
• Ability to capture history was based<br />
on creating transactional versions<br />
• Benefits<br />
– Point in time<br />
– No data duplication<br />
• Limitations<br />
– Versions pin state tree<br />
• Will prevent full compress<br />
• Fewer versions is better<br />
• Remove when no longer needed<br />
– Can not unregister as versioned <strong>and</strong><br />
maintain history<br />
2007 ESRI NEARC 42
9.2: <strong>Geodatabase</strong> archiving<br />
• Preserve change to data<br />
• Persistent history<br />
RO<br />
R-1-65<br />
January 1 st , ‘01<br />
– Change maintained<br />
separately in archive class<br />
R-1-65<br />
• <strong>Arc</strong>hive class can persist if object<br />
unregistered as versioned<br />
• Requirements vary<br />
– Which object needs archiving<br />
RO<br />
July 16 th , ‘02<br />
– What granularity of change<br />
is needed<br />
R-1-65<br />
C-2<br />
August 31 st , ‘04<br />
R-1-65<br />
2007 ESRI NEARC 43
<strong>Arc</strong>hiving overview<br />
• Select classes to archive<br />
– Supports full geodatabase<br />
data model<br />
• Register as versioned<br />
– Do not use move to base<br />
• Enable archiving<br />
– <strong>Arc</strong>hive class is created<br />
• Edit data<br />
– Edits saved or posted to<br />
DEFAULT will be archived<br />
2007 ESRI NEARC 44
<strong>Arc</strong>hive class<br />
• New feature class created<br />
– Built when archiving enabled<br />
– Not visible in <strong>Arc</strong>Catalog<br />
• Business table<br />
– Same schema as enabled class<br />
• Any schema changes on enabled<br />
class will affect archive class<br />
– Includes attributes for timestamp<br />
• <strong>Arc</strong>hive class is not registered as versioned<br />
• All rows part of DEFAULT lineage copied to archive class<br />
– All archived with same timestamp<br />
PARCELS<br />
PARCELS_H<br />
2007 ESRI NEARC 45
<strong>Arc</strong>hive class attributes<br />
• GDB_FROM_DATE<br />
– Time the feature was added to the original class<br />
• Action: New or updated feature<br />
– All features from DEFAULT are archived upon activation<br />
• GDB_TO_DATE<br />
– Timestamp when the feature was retired from the original class<br />
• Action: Deleted or updated feature<br />
– All current features maintain timestamp of Dec 31, 9999<br />
• GDB_ARCHIVE_OID<br />
– Maintains unique ID for each record<br />
2007 ESRI NEARC 46
<strong>Arc</strong>hive time<br />
• <strong>Arc</strong>GIS represents time as the transaction time<br />
– Transaction time: System time the edit was saved<br />
– Valid time: Real-world time that the event occurred<br />
– Example: A parcel was sold on April 6, 2006; due to backlog, the new<br />
owner was not entered until April 30, 2006<br />
• Valid time <strong>and</strong> transaction time are rarely the same<br />
– Option: Add user maintained column to enabled class to maintain valid<br />
time<br />
• Feature archived in the order of edit operations<br />
– Transaction time may be out of order from real world event<br />
– Example: Work orders saved out of sequence are archived out of<br />
sequence<br />
2007 ESRI NEARC 47
Editing workflow: Save every edit<br />
• Scenario: Every edit operation must be archived<br />
• Need to update the archive class on every edit operation<br />
– Each edit preserved with timestamp of save operation<br />
– Used when you need to preserve every edit<br />
• Example: Change ownership of a parcel several times—need to preserve each<br />
individual edit to the parcel<br />
• Version options<br />
– Edit the DEFAULT version<br />
• Save every edit<br />
2007 ESRI NEARC 48
Example 1: Add new feature<br />
• Editing the DEFAULT version<br />
• Create new feature<br />
• Save edit<br />
– New feature added<br />
to archive class<br />
– Timestamp of FROM date<br />
is time of save<br />
– Timestamp of TO date<br />
is Dec 31, 9999<br />
5808 Jurupa Ave<br />
*No Site Address*<br />
*No Site Address*<br />
6024 William St<br />
6030 William St<br />
Start editing PARCELS<br />
5808 Jurupa Ave<br />
6024 William St<br />
6030 William St<br />
6036 William St<br />
*No Site Address*<br />
*No Site Address*<br />
6015 Anita Pl<br />
Create new feature<br />
Save in the DEFAULT<br />
version<br />
PARCELS_H<br />
6036 William St<br />
6015 Anita Pl<br />
ObjectID 71565 was added<br />
A<br />
2007 ESRI NEARC 49
Example 2: Update feature<br />
• Update feature <strong>and</strong> save<br />
• Feature retired<br />
– Existed between FROM <strong>and</strong> TO date<br />
• New feature added<br />
– New row<br />
• New GDB_ARCHIVE_OID<br />
– Same OBJECTID<br />
5808 Jurupa Ave<br />
Editing PARCELS<br />
5808 Jurupa Ave<br />
*No Site Address*<br />
*No Site Address*<br />
6024 William St<br />
6030 William St<br />
6015 Anita Pl<br />
6036 William St<br />
*No Site Address*<br />
6024 William St<br />
6030 William St<br />
*No Site Address*<br />
6027 Sheppard St<br />
Update attribute<br />
Save in the DEFAULT<br />
version<br />
PARCELS_H<br />
6036 William St<br />
6015 Anita Pl<br />
Update added to archive<br />
with new GDB_ARCHIVE_OID<br />
A<br />
2007 ESRI NEARC 50
Example 3: Delete feature<br />
• Delete feature <strong>and</strong> save<br />
• Feature retired<br />
– Existed between FROM <strong>and</strong> TO time<br />
– View archive class after<br />
TO time—will not<br />
see feature<br />
Editing PARCELS<br />
5808 Jurupa Ave<br />
*No Site Address*<br />
*No Site Address*<br />
6024 William St<br />
6027 Sheppard St<br />
6030 William St<br />
5808 Jurupa Ave<br />
6036 William St<br />
6015 Anita Pl<br />
*No Site Address*<br />
6024 William St<br />
6030 William St<br />
*No Site Address*<br />
Save edit to the<br />
DEFAULT version<br />
PARCELS_H<br />
6036 William St<br />
6015 Anita Pl<br />
Feature was retired<br />
at GDB_TO_DATE<br />
A<br />
2007 ESRI NEARC 51
Editing workflow: Save group of edits<br />
• Scenario: Groups of edit operations can be archived<br />
– <strong>Arc</strong>hive class records changes saved/posted with one timestamp<br />
– Individual feature modification not preserved—final representation<br />
preserved<br />
– Example: Census tracks may change every year<br />
• Each change not archived; only archive once completed<br />
• Version options<br />
– Edit the DEFAULT version<br />
• Save after logical group of edits<br />
– Edit child version<br />
• Reconcile <strong>and</strong> post after logical group is completed<br />
2007 ESRI NEARC 52
Example 4: Make multiple edits <strong>and</strong> save<br />
6023 Sheppard St<br />
6025 Sheppard St<br />
6023 Sheppard St<br />
6015 Anita Pl<br />
6025 Sheppard St<br />
1) No parcel<br />
2) Add parcel<br />
• Make several edits to same feature<br />
• Save to DEFAULT<br />
– Save trims intermediate states<br />
– Preserve the last representation of feature in the<br />
archive class<br />
6023 Sheppard St<br />
6015 Anita Pl<br />
6025 Sheppard St<br />
3) Update attribute<br />
6027 Sheppard St<br />
6023 Sheppard St<br />
6015 Anita Pl<br />
6025 Sheppard St<br />
6027 Sheppard St<br />
6023 Sheppard St<br />
6015 Anita Pl<br />
6025 Sheppard St<br />
6027 Sheppard St<br />
6027 Sheppard St<br />
4) Split feature<br />
5) Update attribute<br />
<strong>Arc</strong>hive class preserves<br />
the split <strong>and</strong> new<br />
attribute—no<br />
intermediate steps are<br />
archived<br />
6023 Sheppard St<br />
6025 Sheppard St<br />
6027 Sheppard St<br />
6007 Anita Pl<br />
6015 Anita Pl<br />
6007 Anita Pl<br />
6015 Anita Pl<br />
Save edits<br />
A<br />
2007 ESRI NEARC 53
Historical version<br />
• Read only view of geodatabase<br />
– Transactional versions<br />
are used for editing<br />
• References particular moment<br />
• Historical marker<br />
– Created by user<br />
– References specific time<br />
– Like a bookmark<br />
• Specific date <strong>and</strong> time<br />
– Pick date <strong>and</strong> time from calendar<br />
2007 ESRI NEARC 54
Answering common historical questions<br />
• What did the feature class look like at time y<br />
– Connect to historical version<br />
– Use calendar or historical marker to examine data at a specific point-in-time<br />
Historical marker: Original<br />
Historical marker: T10<br />
2007 ESRI NEARC 55
Answering common historical questions<br />
• How has the feature class<br />
changed over time<br />
• Add the archive class<br />
– Identify archive class<br />
– Select feature<br />
• Investigate all the representations<br />
of that feature<br />
– Query definition<br />
• Time range to view features<br />
*No Site Address*<br />
Time<br />
*No Site Address*<br />
*No Site Address*<br />
6023 Sheppard St<br />
6023 Sheppard St<br />
A<br />
2007 ESRI NEARC 56
Disable archiving<br />
• If required, you can disable archiving<br />
– Necessary if unregistering feature class as versioned<br />
• Option: Preserve or delete the archive class<br />
– Preserve as a st<strong>and</strong>alone feature class<br />
• Re-enable enable archiving a new archive class is created<br />
• Does not preserve link to old archive class<br />
– Delete the archive class<br />
Preserve<br />
Delete<br />
2007 ESRI NEARC 57
Workflow benefits<br />
• <strong>Arc</strong>hived features stored without impacting active features<br />
• Ability to enable on all geodatabase vector data<br />
• Offers ability to archive only objects of interest<br />
– May not be required for some feature classes<br />
• St<strong>and</strong>ard tools used for feature historical queries<br />
– Identify<br />
– Select<br />
– Query definition<br />
2007 ESRI NEARC 58
Benefits<br />
• Using DEFAULT historical marker may provide better performance<br />
– Does not access versioning repository tables or delta tables<br />
• Opportunity to unversion the data <strong>and</strong>/or disable archiving<br />
– <strong>Arc</strong>hive class no longer linked to original feature class<br />
– Preserve archive class as long as needed<br />
ZONING<br />
C-2<br />
RO<br />
ZONING_H<br />
R-1-65<br />
R-1-65<br />
R-1-65<br />
2007 ESRI NEARC 59
Workflow considerations<br />
• <strong>Arc</strong>GIS represents time as the transaction time<br />
– Valid time <strong>and</strong> transaction time are rarely the same<br />
– Pay attention to order of work performed<br />
• Transaction time can become out of sync with event sequence<br />
– Option: Add user maintained date column to feature class<br />
• <strong>Arc</strong>hive from DEFAULT version<br />
• Must determine granularity<br />
– <strong>Arc</strong>hive every transaction: Save every edit to DEFAULT<br />
– <strong>Arc</strong>hive logical transactions: Determine when to save/post<br />
to DEFAULT<br />
2007 ESRI NEARC 60
Distributed <strong>Geodatabase</strong><br />
(<strong>Geodatabase</strong> <strong>Replication</strong>)<br />
2007 ESRI NEARC 61
<strong>Geodatabase</strong> <strong>Replication</strong><br />
• Allows you to distribute copies of data across 2 or more<br />
geodatabases<br />
• You can edit the databases independently <strong>and</strong><br />
synchronize them as needed<br />
• Released at 9.2 - Builds upon disconnected editing from<br />
earlier releases (8.3)<br />
2007 ESRI NEARC 62
<strong>Geodatabase</strong> <strong>Replication</strong> – Use Cases<br />
• Mobile Users <strong>and</strong> Field Crews who need to be disconnected<br />
from the network<br />
• Users who need to maintain copies of data at different<br />
organizational levels (city, county, state)<br />
• Users who want to maintain copies of data at different<br />
geographic facilities<br />
• Users who need to distribute work to contractors<br />
• Production <strong>and</strong> publication geodatabases<br />
2007 ESRI NEARC 63
Distributed <strong>Geodatabase</strong> Use Cases<br />
Regional Offices<br />
Mobile Users<br />
Multiple levels<br />
Production / Publication<br />
2007 ESRI NEARC 64
<strong>Geodatabase</strong> <strong>Replication</strong> - LAN <strong>and</strong> WAN<br />
• LAN - Use connections to your local geodatabases<br />
• WAN - Use <strong>Arc</strong>GIS Server <strong>and</strong> geodata web services to access<br />
remote geodatabases<br />
• All geodatabase replication workflows are supported in both<br />
environments<br />
2007 ESRI NEARC 65
<strong>Geodatabase</strong> <strong>Replication</strong> Workflows<br />
• Workflows can involve Multi-<br />
User geodatabases <strong>and</strong> single<br />
user geodatabases<br />
Multi-user user to Multi-user<br />
user<br />
– Multi-user user geodatabase –<br />
Multi-user user <strong>Arc</strong>SDE<br />
geodatabase accessed locally<br />
or remotely through <strong>Arc</strong>GIS<br />
server<br />
Enterprise<br />
Enterprise<br />
– Single user geodatabase –<br />
Personal <strong>Arc</strong>SDE, file<br />
geodatabase or personal<br />
geodatabase on a local<br />
machine<br />
Multi-user user to Single User<br />
Enterprise<br />
Personal <strong>Geodatabase</strong>,<br />
File <strong>Geodatabase</strong> or<br />
Peronal <strong>Arc</strong>SDE<br />
2007 ESRI NEARC 66
Distributing Data<br />
• <strong>Geodatabase</strong> <strong>Replication</strong> can be<br />
used in conjunction with other<br />
data distribution techniques<br />
• Example:<br />
• Use geodatabase replication to<br />
synchronize changes between<br />
offices<br />
• Use mobile ADF for field workers<br />
with light weight mobile devices<br />
• Use geodatabase replication for<br />
field workers who need <strong>Arc</strong>GIS<br />
desktop or engine in the field<br />
0DLQ2IILFH<br />
5HSOLFDWLRQ<br />
)LHOG2IILFH<br />
: HE<br />
6HUYLFHV<br />
0RELOH$' ) 5HSOLFDWLRQ<br />
0RELOH$' )<br />
2007 ESRI NEARC 67
Database <strong>Replication</strong> vs. Distributed <strong>Geodatabase</strong><br />
<strong>Arc</strong>SDE technology<br />
<strong>Arc</strong>Objects<br />
<strong>Geodatabase</strong><br />
Data managment<br />
RDBMS<br />
<strong>Geodatabase</strong><br />
<strong>Replication</strong><br />
Purpose: Data Distribution<br />
1-way, 2-way<br />
all feature classes<br />
some feature classes<br />
portions of feature classes<br />
history<br />
RDBMS/Storage<br />
<strong>Replication</strong><br />
Purpose: HA (High<br />
Availability), Data<br />
Distribution<br />
full <strong>Geodatabase</strong><br />
OS/Storage<br />
2007 ESRI NEARC 68
DBMS <strong>Replication</strong> with <strong>Geodatabase</strong>s<br />
• <strong>Geodatabase</strong> replication does not use DBMS replication<br />
• Requirements <strong>and</strong> limitations of DBMS replication<br />
– Requires knowledge of how the geodatabase\<strong>Arc</strong>SDE system tables<br />
work<br />
– No tools provided in <strong>Arc</strong>GIS to support it<br />
– Limited support for cross DBMS replication<br />
– Does not support or has limited support for complex geodatabase data<br />
types <strong>and</strong> limited filters to define the data to replicate<br />
• Advantages of DBMS replication<br />
– Can work with non-versioned data<br />
– Can replicate entire database<br />
– Can be configured to provide synchronous replication<br />
2007 ESRI NEARC 69
<strong>Geodatabase</strong> <strong>Replication</strong> Types<br />
Check out /<br />
Check in<br />
Parent<br />
Once Only<br />
Child<br />
Two Way<br />
Parent<br />
Multiple Times<br />
Child<br />
One Way<br />
Parent<br />
Multiple Times<br />
Child<br />
2007 ESRI NEARC 70
Check out / Check in <strong>Replication</strong><br />
• Disconnected editing - <strong>Arc</strong>GIS 8.3 to 9.1<br />
• Child replica can be hosted in a Personal <strong>Geodatabase</strong>, File<br />
<strong>Geodatabase</strong> or <strong>Arc</strong>SDE <strong>Geodatabase</strong> (only <strong>Arc</strong>SDE can host the<br />
Parent)<br />
Check In<br />
Personal GDB<br />
Enterprise<br />
<strong>Geodatabase</strong><br />
Check-out<br />
Check In<br />
Personal SDE<br />
Check-out<br />
Check In<br />
Check -out<br />
File GDB<br />
2007 ESRI NEARC 71
One Way <strong>Replication</strong><br />
• Child replica is considered read-only<br />
• No system versions on the child replica<br />
• Choose between 2 model types:<br />
– Full – Supports complex types (Geometric Networks <strong>and</strong> Topologies) <strong>and</strong><br />
requires the child replicas data to be versioned<br />
– Simple – Child replica’s data is simple <strong>and</strong> does not need to be versioned<br />
Web users<br />
Enterprise<br />
<strong>Geodatabase</strong><br />
<strong>Arc</strong>IMS<br />
<strong>Arc</strong>GIS<br />
Server<br />
Read-only<br />
<strong>Geodatabase</strong><br />
2007 ESRI NEARC 72
Two Way <strong>Replication</strong><br />
• Requires <strong>Arc</strong>SDE geodatabases <strong>and</strong> versioned data<br />
• Can use 2 way replication with personal <strong>Arc</strong>SDE instead of check<br />
out/check in replication<br />
Enterprise<br />
<strong>Geodatabase</strong><br />
Enterprise<br />
<strong>Geodatabase</strong><br />
Personal SDE<br />
Personal SDE<br />
2007 ESRI NEARC 73
<strong>Geodatabase</strong> <strong>Replication</strong> - Data Requirements<br />
• You must have write access to the data<br />
• All data must be registered as versioned without the option to move m<br />
edits to base<br />
• Two way <strong>and</strong> One way replicas<br />
– Each dataset must have a Globalid column<br />
– All spatial data must be stored in a high precision spatial reference rence<br />
2007 ESRI NEARC 74
Replica Creation – What Data Types can be<br />
Replicated<br />
• In general, if it supports the full versioning data model it can be<br />
replicated<br />
• Data Types<br />
– Fully supported – Simple Feature Classes <strong>and</strong> Tables, Geometric<br />
Networks, Topologies, Representations, Relationship Classes <strong>and</strong><br />
Annotation<br />
– Source data can be replicated -Terrains <strong>and</strong> Network datasets<br />
– Copied during creation – Raster datasets <strong>and</strong> Raster catalogs<br />
– Not Supported - Survey datasets, Schematics datasets, Locators can<br />
not be replicated<br />
2007 ESRI NEARC 75
Maintaining Object Identity<br />
• GlobalID columns<br />
– Based on GUIDs / UUID technology<br />
– Introduced in <strong>Arc</strong>GIS 9.0<br />
{9DFACA0A-982F-4175-80E7-B553378D9E6D}<br />
– GlobalIDs are system maintained (like ObjectIDs)<br />
– Add Globalid comm<strong>and</strong> in <strong>Arc</strong>Catalog (9.2) adds the columns at<br />
the feature dataset <strong>and</strong> st<strong>and</strong>alone feature class/table level<br />
• Can be added to versioned data<br />
• File <strong>Geodatabase</strong> <strong>and</strong> Personal <strong>Geodatabase</strong> require schema only<br />
– Sample provided to delete a globlalId column<br />
– Differs from columns of type GUID<br />
2007 ESRI NEARC 76
Replica Creation - <strong>Versioning</strong><br />
• Edits made to the replica versions<br />
are synchronized<br />
• Like extending the version tree to<br />
span multiple<br />
databases<br />
• 2 way <strong>and</strong> 1 way replicas<br />
– Parent replica version can be a named<br />
version or default<br />
– Child replica version is always default<br />
• Check-out replicas<br />
– Parent <strong>and</strong> child replica versions are<br />
named versions<br />
<strong>Arc</strong>SDE GDB<br />
Default<br />
RV<br />
Parent<br />
replica<br />
version<br />
Default<br />
Child<br />
replica<br />
version<br />
V2<br />
<strong>Arc</strong>SDE GDB<br />
2007 ESRI NEARC 77
Replica Creation – Defining data to replicate<br />
• Filters <strong>and</strong> Relationship<br />
classes are used to define<br />
the data to replicate<br />
• Filters are applied first<br />
– Spatial – A geometry used<br />
to define the area to<br />
replicate<br />
– Selections – Selection sets<br />
on feature classes <strong>and</strong><br />
tables<br />
– QueryDef – Definition<br />
queries applied to individual<br />
feature classes <strong>and</strong> tables<br />
• Additional rows are then<br />
added if they are related to<br />
the rows in the filter<br />
– Relationship classes are<br />
applied in a single direction<br />
<strong>and</strong> in an optimal order<br />
More options available when creating replica in<br />
<strong>Arc</strong>Map<br />
2007 ESRI NEARC 78
Replica Synchronization<br />
• Applying data changes across replicas<br />
• Replicas can be Synchronized in either both<br />
directions or just a single direction<br />
• Synchronization is based on exchanging messages<br />
<strong>and</strong> is fault tolerant<br />
• Uses versioning<br />
2007 ESRI NEARC 79
Replica Synchronization - Message Exchange<br />
• Synchronizations are performed using message exchange<br />
• Messages types:<br />
– Data Change messages<br />
• Includes the data changes to synchronize<br />
• By default all changes since the last acknowledgement are included<br />
– Acknowledgement messages<br />
• Acknowledges that previously sent changes have been received by the<br />
relative replica<br />
2007 ESRI NEARC 80
Connected Synchronization<br />
• Connected Synchronization<br />
– Can be performed when all replicas accessible on the network (LAN or WAN)<br />
– Always connected or intermittently connected<br />
– System manages message exchange <strong>and</strong> always acknowledges<br />
– Can send changes in one direction or both directions in one operation<br />
– Example: to synchronize, use the synchronize wizard in <strong>Arc</strong>Catalog<br />
Synchronize<br />
2007 ESRI NEARC 81
Disconnected Synchronization<br />
• Disconnected Synchronization<br />
– Performed when replicas are not on the same network<br />
– Message exchange is performed by the end user<br />
– Operations are performed by export, file transfer <strong>and</strong> import<br />
• Example: to synchronize, export changes to a delta XML file, transfer<br />
the file (ftp, CD through the mail, etc.), have the file imported d on the<br />
relative replica when it arrives<br />
Transfer<br />
2007 ESRI NEARC 82
Disconnected Synchronization<br />
• At any time a replica can be either a Data Sender or a Data<br />
Receiver<br />
– Data Sender sends Data Change messages to the Data Receiver<br />
– Data Receiver accepts Data Change messages from the Data Sender<br />
<strong>and</strong> sends Acknowledgement messages back to the Data Sender<br />
• Switch Roles<br />
– Data Sender sends a final Data Change message that includes<br />
instructions to switch roles<br />
2007 ESRI NEARC 83
Disconnected Synchronization<br />
• Acknowledgement messages<br />
– Not required, but recommended after each receive<br />
– If acknowledgement messages are not received by the Data Sender:<br />
• Previous changes are re-sent by default<br />
• Data Senders geodatabase can become large due to accumulated changes<br />
that are saved for error recovery<br />
• Switching roles <strong>and</strong> then sending data changes is another way to<br />
acknowledged messages<br />
2007 ESRI NEARC 84
2007 ESRI NEARC 85
Replica Synchronization Examples<br />
• Example 1 – Connected Synchronization with a 2 way replica<br />
Connected<br />
Synchronization<br />
• Example 2 – Disconnected Synchronization with a 2 way replica<br />
Sender<br />
Receiver<br />
Transfer<br />
A<br />
Transfer<br />
A<br />
2007 ESRI NEARC 86
Replica Reconcile Policies<br />
• Three policies:<br />
– Favor the database – if there is a conflict, the value currently in the<br />
replica database is applied<br />
– Favor the imported changes – if there is a conflict, the value being<br />
imported is applied<br />
– Manual<br />
• When a conflict occurs, the replica is marked as in conflict. While in<br />
conflict it can received changes but not send changes<br />
• To take it out of a conflict state, you need to later manually reconcile <strong>and</strong><br />
post the synchronization version with the replica version<br />
• When synchronizing in both directions at once, manual can not<br />
be used as a synchronization policy<br />
• Support for object <strong>and</strong> attribute level reconciles on<br />
synchronization<br />
2007 ESRI NEARC 87
Manual <strong>and</strong> Automated Systems<br />
• Manual<br />
– <strong>Replication</strong> supports manual operations through wizards <strong>and</strong><br />
geoprocessing tools in <strong>Arc</strong>Catalog <strong>and</strong> <strong>Arc</strong>Map<br />
– Example: A field worker connecting his lap top to a LAN or WAN<br />
<strong>and</strong> clicking synchronize.<br />
• Automated<br />
– Operations such as synchronizations <strong>and</strong> check-out replica<br />
creation are set up to happen on a regular basis<br />
– Example: A geoprocessing model exported to python <strong>and</strong> set to<br />
run in the windows scheduler<br />
– Recommended<br />
2007 ESRI NEARC 88
What Features are Synchronized<br />
• 2 way <strong>and</strong> 1 way replicas<br />
– Only changes that satisfy the filters <strong>and</strong> the relationship class criteria<br />
are synchronized<br />
– Example: Features moved within, into or out of a replica geometry y filter<br />
are synchronized. Features edited outside the replica geometry are a<br />
not<br />
synchronized<br />
– Edited rows related to rows in the replica are synchronized if they t<br />
belong to a table / feature class with a schema only filter<br />
• All edits are synchronized for check-out replicas<br />
2007 ESRI NEARC 89
Working through errors<br />
• System is designed to stay consistent<br />
• If the system fails during a synchronization, it is rolled back to it’s<br />
previous state<br />
• If a data changes message is lost in a disconnected system, the<br />
next message will contain changes from the lost message <strong>and</strong> any<br />
new changes<br />
• Replica log can be used to get error information about a<br />
synchronization<br />
2007 ESRI NEARC 90
Schema synchronization<br />
• Applying schema changes<br />
– Separate process from data synchronization<br />
– Compare replica schemas<br />
– Apply changes to match<br />
• Workflow<br />
– Avoid schema changes<br />
to prevent issues<br />
– Periodically check<br />
schemas<br />
– Apply system<br />
wide schema changes<br />
Region A<br />
Apply schema change<br />
National<br />
Apply schema change<br />
Make schema change<br />
Region B<br />
District 1<br />
District 2<br />
A<br />
2007 ESRI NEARC 91
Working with Schema Changes<br />
• Fault tolerant<br />
– In most cases synchronization will still execute successfully<br />
even if each replica makes schema changes<br />
– Example: If a field has been dropped, synchronization skips that<br />
field<br />
• Tools to apply schema changes across replicas<br />
– Subset of schema changes can be applied<br />
– Recommend applying schema changes across all replicas before<br />
synchronizing<br />
2007 ESRI NEARC 92
Applying Schema Changes<br />
• Two step process<br />
– Compare replica schemas<br />
• Compare directly in a connected environment<br />
• Export replica schema to XML in a disconnected environment, send to<br />
relative replica <strong>and</strong> compare<br />
– Import the schema differences<br />
• Schema changes can be listed in different ways:<br />
– Optional – you can decide whether or not to apply the change<br />
– Can’t t Apply – these can’t t be applied<br />
2007 ESRI NEARC 93
Schema Changes that can be Applied<br />
Add<br />
Change<br />
Drop<br />
Field<br />
Y<br />
Y (domains)<br />
Y<br />
Domain<br />
Y<br />
Y<br />
Y<br />
Table/FC<br />
Y<br />
Y (Domain,<br />
Add/drop field)<br />
Y<br />
Geometric network<br />
N<br />
N<br />
Y<br />
Topology<br />
N<br />
N<br />
Y<br />
Feature dataset<br />
N<br />
N<br />
Y<br />
Relationship class<br />
N<br />
Y (add/drop field,<br />
domain)<br />
Y<br />
2007 ESRI NEARC 94
<strong>Geodatabase</strong> <strong>Replication</strong> – API<br />
• Basic creation <strong>and</strong> synchronizations using geoprocessing models<br />
require little or no coding<br />
• Write code when…<br />
– Integrate geodatabase replication into larger applications<br />
• Example: integrate synchronization with reconcile service<br />
– Extend the replica creation <strong>and</strong> synchronization process<br />
– Methods <strong>and</strong> properties not exposed through the UI or geoprocessing<br />
tools<br />
• Recommended synchronization order<br />
• Browse changes before synchronization<br />
• Advanced replica creation options<br />
• Export <strong>and</strong> Import version differences<br />
2007 ESRI NEARC 95
<strong>Geodatabase</strong> <strong>Replication</strong> – API<br />
2007 ESRI NEARC 96
<strong>Geodatabase</strong> <strong>Replication</strong> Enhancements for 9.3<br />
• <strong>Replication</strong> New Functionality<br />
– Extend one way replication to file<br />
geodatabase <strong>and</strong> personal<br />
geodatabase<br />
• <strong>Replication</strong> Synchronization<br />
– Better support for synchronization<br />
with large delta XML files (files in<br />
excess of 1 Gig)<br />
– Improved logging for cases where<br />
synchronization is not successful<br />
UC 2007 2007 Tech ESRI Sessions NEARC 97<br />
97
Replica Creation – Performance Tips<br />
• Options in the UI<br />
– Re-use schema – If the schema already exists, replica creation can<br />
skip copying the schema. For check-out replicas only.<br />
– Schema only – Creates a replica of only schema for cases where you<br />
plan on only adding new data. For check-out replicas only.<br />
– Register existing data – Registers a replica without copying data.<br />
Useful for cases where the data is loaded before replica creation.<br />
NOTE: Globalids must match across geodatabases<br />
– Replicate related data – Can choose to turn it off to avoid processing<br />
at creation time<br />
• Open all feature classes <strong>and</strong> tables to replicate for creating the<br />
replica<br />
2007 ESRI NEARC 98
Example Automation Technique<br />
• Create a model with just the synch GP tool<br />
• fill in the parameters with the right info <strong>and</strong> save the model<br />
• export the model to a python file<br />
• add the comm<strong>and</strong> line to execute the python script to the windows<br />
scheduler<br />
2007 ESRI NEARC 99
ESRI Educational Solutions for <strong>Geodatabase</strong><br />
<strong>Versioning</strong>, <strong>Replication</strong>, <strong>and</strong> Historical <strong>Arc</strong>hiving<br />
Danvers 1/17<br />
Johnstown 3/11<br />
Hartford 3/24<br />
Danvers 11/26, 2/26<br />
*Additional training locations <strong>and</strong> dates at http://training.esri.com<br />
2007 ESRI NEARC 100