Henrique de Moraes Holschuh wrote:

On Tue, 04 Feb 2003, Phil Howard wrote:

I wonder how well that method of replication works when both nodes
cannot reach each other, and both are doing updates. And I wonder

They don't. If they cannot reach each other, at most one of them must allow
updates.

Which, as far as I know, is how all commercial databases also do replication. Only those servers involved in a quorum (even if it is because the primary is treated as having more weight) can accept updates -- the other replicas can only be read-only. Trying to allow arbitrary updates during disconnected operation and then merge the results into a consistent and deterministic state is not just hard, but impossible. For example, if you allow flags to be set differently on the same message on each node, there is no way to resolve the two updates without discarding at least some of the work of one of the sessions. If you carefully constrain the updates that can be performed during disconnected operation (and for consistency that means even not in disconnected operation), then you can transform the problem from impossible to merely extremely difficult.

--
John A. Tamplin Unix System Administrator
Emory University, School of Public Health +1 404/727-9931





Reply via email to