Click here to Skip to main content
15,920,005 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
My system has 36 tables. The client will notify the service of changes to 6 of them in real time, while the service will then distribute all that real time data to the other clients. Nightly the service will distribute updates to the other 30 tables to all clients.

Now I can maintain export flags on each table and poll each one via its own thread, or I can fire a trigger to add a row to a changelog table and just poll it.

Are there practical considerations or is this just a question of style?
Updated 5-Oct-12 11:07am

1 solution


What i understand is, you have separate databases on client computer and you need to synchronize with central server database.

If you do not have changes in number of client or location of the client then you can update your central database that can update your client databases at that time. As we are using Linked server in MSSQL the similar way you can use MySQL FEDERATED Storage Engine[^]. You can also use mirroring. But Please provide more information what can be suitagle on your scenario.

Share this answer
Ger Hayden 6-Oct-12 5:04am    
I will have a fixed number of known clients.
Ger Hayden 6-Oct-12 5:06am    
I've taken a look at the FEDERATED Solutions. The client databases will be on busses and constant connectivity cannot be gauranteed.
AmitGajjar 6-Oct-12 5:34am    
Have you think about mirroring ?
Ger Hayden 6-Oct-12 14:21pm    
No they would be quite equal. All clients will feed in logs as well as sales/validation. The logs will not be redistributed. Customer accounts will only live in the back office and only the balance will ever reach the clients.
AmitGajjar 7-Oct-12 8:42am    
In that can you can seprate log database to prevent log from synchronize.

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900