Select to view content in your preferred language

Replication Revealed: Disconnected Synchronization

4516
9
10-20-2017 01:59 PM
TinaMorgan1
Frequent Contributor
10 9 4,516

What is it?

The synchronization process is made up of multiple tasks involving sending and receiving data and acknowledgements between the two geodatabases that participate in the replica.  The Disconnected Synchronization process allows the user to manually complete each of these individual tasks. 

One way to think of synchronization can be to compare it to a phone conversation between two people, speaking and listening to each other.

Why use it?

To provide a method of synchronization for customers with replication between geodatabases that are in a disconnected environment.

To troubleshoot issues with replicas in a connected environment.

To get a deeper understanding of the synchronization process.

How to use it?

There are three ways you can access the tools needed to perform a disconnected synchronization.

 

                           ArcCatalog Context Menu:                                        ArcToolbox Geoprocessing tools:                                                  

ArcMap Distributed Geodatabase toolbar:

Before running any tools, use the replica manager to confirm which geodatabase in your replica is the data sender.  *Always check this status from both the parent and the child.

Step 1: Export Data Changes from the Data Sender.

If you are using a two way replica, and need to synchronize data in both direction, check the 'Switch to being a receiver once the message has been exported' so this workflow can be done in the opposite direction later.

Exporting the changes to Delta Geodatabase allows you to see the records with updates, inserts, and deletes that are being synchronized.  If features have not been updated, inserted or deleted since the last synchronization then you will not see those records in your Delta Geodatabase. 

Esri Support insight:  If other synchronization methods fail, this is my go-to option for troubleshooting that failure.

This step can be compared to saying “Hello” to start a conversation.

Step 2:  Import those data changes into the Data Receiver using the Import Messages Wizard.  Since our output in step 1 was a file geodatabase, we will choose to import a delta file geodatabase here.

This step can be compared to hearing someone say “hello” to you to start a converstaion.

Step 3:  Export an Acknowledgement Message from the Data Receiver.  This output will be an XML document.

This step can be compared to saying “hello” back to someone who just greeted you.

Step 4:  Import that Acknowledgement Message into the Data Sender. 

This step can be compared to someone hearing your “hello” reply.

The four steps are needed in order to perform a synchronization in one direction of a single replica.  If you are using a two way replica, and need to send data in both directions, then you will need to repeat these four steps again in the opposite direction.

*Use the Advanced tab in the Replica Properties to see the history of your replica geodatabases conversations. 

                 Parent geodatabase Replica Properties                             Child geodatabase Replica Properties                                            

  • The Current Generation of the Data Sender increases when data changes are exported from the sender geodatabase.
  • From the Data Receiver, The relative replica generation increases when new data changes are imported into the receiver geodatabase.
  • The Last Acknowledged Generation of the Data Sender increases when this geodatabase imports the acknowledgement message

For Fun!

*Always check this status from both the parent and the child.

Now that you have completed the disconnected synchronization workflow, let’s look at the statement above. 

  • Can you now think of WHY it is important to check the status from both the parent and the child? 
  • If you see both the parent and the child have the same status, what would you do to reconcile that so that only one geodatabase is the sender, and the other is the receiver?

 

*Use the Advanced tab in the Replica Properties to see the history of your replica geodatabases conversations.

This blog uses images to show the generations of a parent and child geodatabase.  In the images, the generations are "in sync", meaning that the conversation between the two geodatabases is completed...one said hello, and the other said hello back.

  • The generation numbers are 3-3-1 in the parent, and 1-1-3 in the child.   Can you determine how many times the parent has sent data to the child?  Can you determine how many times the child has sent data to the parent?
  • Can you determine what needs to be done if those numbers were 3-2-1 and 1-1-3?

esrisupport‌

9 Comments
JoeBorgione
MVP Emeritus

Really good stuff here.  Thanks Tina!

TMorgan-esristaff

MattStull
Regular Contributor

Do you have to use the Create Replica Wizard in ArcMap to recreate a disconnected replica?  Is there no way to do it in ArcCatalog?  Thanks for the great article!

Asrujit_SenGupta
MVP Alum

No, you cannot use the "Create Replica" tool in ArcCatalog to create a disconnected replica.

The only way to create a disconnected replica, is to use the "Create Replica Wizard" in ArcMap.

MattStull
Regular Contributor

Thank you for your answer!

TinaMorgan1
Frequent Contributor

Being a little nitpicky here, a replica is a replica regardless of the connectivity between the parent and child.  The environment the replica is in can be 'connected' or 'disconnected', and that environment will then dictate the methods we can choose from to create and synchronize the replica.  

To provide more info to your question, you have two options to create a replica where the parent and child geodatabases are in disconnected environments.

1.  You may use Create Replica command from the toolbar in ArcMap.  This method gives you the option to create an XML document local to the parent server.  You can then use your own methods to send that XML file to the child server (like email, ftp or hard drives).  

   The Create Replica wizard—ArcGIS Help | ArcGIS Desktop 

2.  You may use the Create Replica from Server to replicate data from a remote geodatabase using a geodata service published on ArcGIS Server.

    Create Replica From Server—Help | ArcGIS Desktop 

JoeBorgione
MVP Emeritus

Lately I've been working with check-out replication; how does that fit into a discussion of connected vs disconnected?  Currently I checkout to a local file gdb, make edits there and then check back in;I've automated the check out and check in process with python-addin buttons. 

TinaMorgan1
Frequent Contributor

so Check Out replicas are simple.  You create your check out replica to a file geodatabase, and then you can send that file geodatabase to remote locations, like a field worker's mobile device off the network.  Again you can use your favorite, supported method to get the file geodatabase into that environment (email, hard drive, ftp, etc).  Once the end user has the file geodatabase they will do their edits, then send it back to the parent server where it can be synchronized. 

Check out replicas only persist for the one sync so there is no need to keep up maintenance on them like you would one and two way replicas.  

JoeBorgione
MVP Emeritus

Check out replicas only persist for the one sync so there is no need to keep up maintenance on them like you would one and two way replicas.

^^^^^ That's the key to my project: Check it out, make edits, check it back in (with the reconcile option).  It's fast and easy for the end user.  

I started using two-way replication several years ago, and have used one-way replication for web service data: replicate to a file gdb and publish from there.  Personally, I refer to (spatial) database replication as the coolest thing since hash-browns...

TinaMorgan1
Frequent Contributor

I like my hash-browns warm and crispy!  I always say keep it simple.  If you don't need anything more than what a check out replica provides, then don't complicate it.  I like where you're going!

Let us know if you have any specific questions or issues.  

About the Author
Hello! I am a senior geodata support analyst with Esri Support Services in Redlands, California. Originally I am from Baton Rouge, Louisiana, and as you can imagine I love food and hurricanes. Most of my time in university was spent eating food and studying hurricanes...once I ate food while studying hurricanes during a hurricane. I also love animals...all of them. Regardless of the subject, I love learning new things, and as soon as I learn something new I want to share it with the world. Thank you for letting me share!