The complexity of synchronization scenarios we've encountered varies drastically depending on many factors including:

  • Number of Databases / File systems (Nodes) Being Synchronized
  • Transacton Volumes
  • Uni-Directional or Bi-Directional Synchronization Requirements
  • Conflict Detection and Resolution Requirements
  • Schema Differences and Data Transformation Requirements
  • Dynamic Data Routing Requirements
  • Initial and Reverse Initial Loading Requirements
  • And Many Other Factors

The good news is, it's all very doable. We've implemented solutions from 2 Nodes to 50,000 Nodes, from small transaction volumes to huge transaction volumes, from identical schemas to complete transformations between normalized and denormalized schemas. Two critical pieces to a smooth implementation are the right tool, and a good design, done up front.

The tough part of a good design is that unless you've "been there, and done that", it can be hard to know what the critical design elements are, and what questions you should be asking. That's where talking with experts in the field and utilizing design document templates can certainly help. We've recently updated our SymmetricDS Synchronization Design Document template that we use as part of all of our JumpStart consulting engagements. It's a great template to help customers think through their scenario, rate its complexity and begin implementation on solid footing.

If you are starting on a synchronization project, we'd be happy to send you the design templates we work with in order to get you started. Just send us a quick note from the Contact Us form with a little background on your synchronization scenario and we'll email it your way.

"Luck is the residue of design" --Branch Rickey

Greg Wilmer
Author: Greg Wilmer

Greg has over 25 years experience in Information Technology spanning roles from developer to architect to VP and CIO.  He has designed and implemented products and systems for small shops, to Fortune 500 companies across many vertical markets including Retail, Health Care, Oil and Gas, Aerospace and many more.  His software experience spans signal processor work for AWACS planes to large scale integration projects for global enterprises.  He holds a Bachelors Degree in Computer Science from the Ohio State University and a Masters Degree in Engineering from MIT focusing on product design and development.