Remote Sync
I am currently in a situation where I have a distributed application between
a few remote nodes all connecting to a central database. I have been
searching for a database replication or synchronization system that will
allow a disconnected node to operate independently of the central database.
The ultimate intention of this type of system is to have an application
operate off of data locally and have those changes synced in the background.
From the research I've done, Slony doesn't support multi-master writers.
PGCluster and ExtenDB seem to require all nodes be next to each other with
the ultimate goal of local load balancing.
Are there any solutions that come close to the requirements I'm after?
Thanks for any input,
-Daniel
"Daniel Blaisdell" <lunk.djedi@gmail.com> writes:
I am currently in a situation where I have a distributed application
between a few remote nodes all connecting to a central database. I
have been searching for a database replication or synchronization
system that will allow a disconnected node to operate independently
of the central database. The ultimate intention of this type of
system is to have an application operate off of data locally and
have those changes synced in the background.
I don't think there are any. The general problem is very hard to
solve, because "synchronization" means different things to different
apps, and approaches to conflict resolution differ. The consensus
here seems to be that it's best handled at the application level.
-Doug
On Wed, 2006-03-15 at 17:12 -0500, Daniel Blaisdell wrote:
I am currently in a situation where I have a distributed application
between a few remote nodes all connecting to a central database. I
have been searching for a database replication or synchronization
system that will allow a disconnected node to operate independently of
the central database. The ultimate intention of this type of system is
to have an application operate off of data locally and have those
changes synced in the background.From the research I've done, Slony doesn't support multi-master
writers. PGCluster and ExtenDB seem to require all nodes be next to
each other with the ultimate goal of local load balancing.Are there any solutions that come close to the requirements I'm after?
Thanks for any input,
Is this situation multi-master? If you partition your data at each
distributed node, then each is a single master to different data. You
can then make the central database the slave to multiple distributed
master databases.
Remote table1 -> central table1
Remote table2 -> central table2 etc
You can then link all the central tables together using:
- inheritance partitioning
- UNION ALL views
Best Regards, Simon Riggs
This sounds like a good idea. I only see one potential problem.
Say someone in the central office notices an error in a remote table, they
misentered a charge to be billed out. Using a replication system such as
Slony the table local to the worker in the central office will be readonly.
How would someone in billing, on a saturday with no one to contact in the
remote office, make such a change?
-Daniel
Show quoted text
On 3/15/06, Simon Riggs <simon@2ndquadrant.com> wrote:
On Wed, 2006-03-15 at 17:12 -0500, Daniel Blaisdell wrote:
I am currently in a situation where I have a distributed application
between a few remote nodes all connecting to a central database. I
have been searching for a database replication or synchronization
system that will allow a disconnected node to operate independently of
the central database. The ultimate intention of this type of system is
to have an application operate off of data locally and have those
changes synced in the background.From the research I've done, Slony doesn't support multi-master
writers. PGCluster and ExtenDB seem to require all nodes be next to
each other with the ultimate goal of local load balancing.Are there any solutions that come close to the requirements I'm after?
Thanks for any input,
Is this situation multi-master? If you partition your data at each
distributed node, then each is a single master to different data. You
can then make the central database the slave to multiple distributed
master databases.Remote table1 -> central table1
Remote table2 -> central table2 etcYou can then link all the central tables together using:
- inheritance partitioning
- UNION ALL viewsBest Regards, Simon Riggs