Thread: Remote Sync

Remote Sync

From
"Daniel Blaisdell"
Date:
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

Re: Remote Sync

From
Douglas McNaught
Date:
"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

Re: Remote Sync

From
Simon Riggs
Date:
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


Re: Remote Sync

From
"Daniel Blaisdell"
Date:
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


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 etc

You can then link all the central tables together using:
- inheritance partitioning
- UNION ALL views

Best Regards, Simon Riggs