Skip to content
March 21, 2007 / Steven Pousty

GEODB replication

Replication

Simple – copy and overwrite
Problems – no safeguards against data loss and redudant copies

DBMS replication
requirements – super duper knowledge of geodb tables and strucutres to know what to recplicate. No tools in arcgis
Doesn’t support complex types. Doesn’t work between different DB vendors

Positives – can work with non-versioned data, can replicate entire db,

Geodb replication
You can edit db independently and synch as needed over LAN or WAN
Works in connected and disconnected environments
Can replicate subsets and uses versioning
Though released at 9.2 it build off of stuff in ArcGIS since 8.? missed it

Type of replication
Checkout-checkin (only one synch back up to master)
Now have two way and one way which allows for multiple syncs.

Workflows- can involve both multi-user geodbs and single user geodb. But you can also use it as a means to distribute data.

GETTING STARTED:

Anticipate future needs in terms of spatial extent when defining data to replicate.
Have a well defined data model before creating replicas.
Choose the right replica type – consider 2 way replicas over checkin-checkout but use 1 way replication over 2 way where possible (it is simpler with no versions on child).
Use models or scripts for replicas you plan to create on a regular basis and set up with Windows scheduler
Consider some of these option –
re-use schema (build the schema before getting data)
register only – replicates pre-copied data (says that this data should be considered as participating in a replica
Relationship classes are expensive
Schedule synchs using a simple GP model – doing it regulary helps free up resources and makes sure things are up to date
Integrate synch with version management strategy – synch before running reconcile and compress services – reconcile serve should cover replicas with a manual reconcile policy

Network speed
For slow speeds use ArcGIS Server and geodata services – ultra slow should look at disconnected synch techniques

WHEN to write code

Basic creation and synching can be done with GP and require no coding
Write code when:
want to make it part of a large application
If you want to extend the process with custome business logic
Methods not exposed UI

COARSe Grained API (Recommended)
Geodataserver library – works locally or over the internet
Fine-Grained – local only

Connected – all replicas are available on the network either always or intermittenly, such as bringing in a laptop
Disconnected – not on the same network – you need to manage the message exchange. I think might be a good option to make sure you have backups for field work doesn’t get lost. They could email replicas each night or perhaps put them on a USB stick or something. Then if the data is lost you are good. Can you mix and match??

Create Replica in a Connected environment – steps

initialize a geodataserver for the source and target geodatabase – a bunch of code that I am spacing out on. I don’t understand if you need to have an ArcGIS Server up and running for this? I guess it does not matter since ArcGIS Server Basic Enterprise allows for an install of ArcGIS Server for geodb replication. I guess the same license key unlocks SDE portion of server and the Basic level of ArcGIS server…. interesting.

K, I just grabbed this from the code – you can point the synchonizer to a file at disk and then tell it to impor.

Best practices

You can only schema synchronize simple feature classes and tables – use replica regiratration open for large dataset replication create – use GeoDataserver instead ReplicateAgent when creating checkout to a new personal geodb or file geodb.

You can extend replication functionality by implementing a Workspace extension that suppoorts IWorkspaceReplicaEvents.

Demo to create a custom workspace extension to allow for the replication of non-versioned feature class. More code and I am burnt so I am really having problems focusing – but of course it looks easy here.  Alright, given my current mental state I am going to go sit on a couch somewhere and try to recharge a bit…

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: