24.12.2014 Views

Geodatabase Versioning, Replication and History - Northeast Arc ...

Geodatabase Versioning, Replication and History - Northeast Arc ...

Geodatabase Versioning, Replication and History - Northeast Arc ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!