1
votes

I'm building a POS (point-of-sale) application that will include a local Windows application (the POS) and a central web application (for configuration and reports). I want to find out if Microsoft Sync Framework is the right technology to sync the data across the local and central databases.

Components

  • Central configuration database (SQL Server 2012 Standard) - all brands and stores
  • Local on-site SQL Server 2014 Express - single store
  • Central reporting database (SQL Server 2012 Standard) - all brands and stores

Sync

  • Sync changes (e.g. new sale item or price change) made on the Central configuration database to the store database (but just data for that store's brand). Changes downloaded after they have been saved.
  • Upload transactions from the store to the Central reporting database. Changes uploaded after they have been saved.

Concerns

  • Is it likely that Sync Framework becomes discontinued or we need to start paying for a license?
  • Will Sync Framework handle the load of 1000-2000 stores sync'ing with a central server?
  • Will Sync Framework handle schema changes? And can those schema changes be staggered, so not all stores update at once?

Is Sync Framework handle the right tool for this job?

Will it handle my concerns?

What gotchas should I be aware of?

Should I consider anything else?

1

1 Answers

2
votes

Sync Fx is still supported today, unfortunately, there has been no active development on it for the last couple of years.

With Sync Fx (or any other sync mechanisms), its not just the number of nodes that affects the performance, you also have the volume of data, frequency of sync, conflicts, etc...

No, Sync Fx doesn't handle schema changes.

You may also want to check out SQL Replication. I have used both Sync Fx and SQL replication and both of them will require some tuning to handle the scale you're looking at.