Click here to Skip to main content
15,889,096 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi All,

As per my requirement in my complete system it consists of both desktop and web application. Desktop application(OCASIONALLY CONNECTED APPLICATION) will be accessing the data from local database and will be in sync with central database hosted on server.

Desktop application(online\offline data access): windows xp/vista/win7, .Net framework 3.5, MySql.
Web application(online data access): PHP, MySql.
Server(central data source): windows server, MySql (DB).

So what approach can I opt to establish offline\online system. Considering there will be one million desktops using the local DB's synchronizing with central DB.

Thanks in advance,

Ashok
Posted

1 solution

I don't think you can bear the burden of comparing whole databases.

What you can do is..
1. implement a publisher-subscriber architecture.
2. main server adds messages to a message queue when a database change happens.
3. desktop applications subscribe to the main server and get messages from the message queue.
4. desktops modify their local database according to the messages
5. whenever desktops come online, they will only retrieve the messages which they haven't retrieved before.

And since you cannot make messages out of every change to the database, choose the best subset that should be synchronized.
 
Share this answer
 
Comments
ashok_rgm 22-Feb-12 1:18am    
Thank you Krumia, It really helped me to understand the complexity of solution that I am looking at.
krumia 22-Feb-12 1:24am    
Glad to hear that! :)

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