[erlang-questions] auto-syncing mnesia after a network split

Dave Smith <>
Mon Dec 8 22:46:16 CET 2008


On Mon, Dec 8, 2008 at 10:37 AM, Joel Reymont <> wrote:
>
> On Dec 8, 2008, at 5:19 PM, Jim McCoy wrote:
>
>> To maintain the current properties of mnesia I believe the only option
>> would be to add some complexity on the mechanics of the join mechanism
>> (e.g. a quorum system like paxos to decide membership and agreement
>> among the nodes as to the minimum quorum below which a partitioned
>> subset is read-only) and a bit of work to change a minority subset
>> into read-only mode when a partition is discovered.
>
>
> I'm willing to take a shot at the work, with proper instruction and
> guidance.
>
> I really really want a fix for this issue. I don't see how Mnesia can
> be used as the backend for an internet site otherwise. It's currently
> impossible to run an ecommerce or other internet site on top of Mnesia
> because of the split/rejoin issue. Please show me where I am mistaken.
>
> My understanding is that this issue can be dealt with in the telecom
> industry due to the transient nature of the data. I'm guessing that
> really important data always goes into Oracle, PostgreSQL, etc.
>
> Yes, I can use PostgreSQL or MySQL instead of Mnesia but then I have
> to deal with replication issues on that end. Does anyone know how
> other databases deal with network splits in a multi-master scenario?

I _strongly_ suggest reading some of the research literature on this
subject, particularly the work done by Amazon with their Dynamo
system. That's one of the most practical papers I've read on these
topics. With a little elbow grease, you could probably even implement
such a system based on that paper... :)

D.



More information about the erlang-questions mailing list