[erlang-questions] Mnesia vs When Databases Lie: Consistency vs Availability in Distributed Systems

Ulf Wiger (TN/EAB) <>
Fri Dec 14 15:40:40 CET 2007

Ok, I only browsed the article with half an eye, so I
may be firing prematurely, but...

If you look at mnesia_frag, it allows you to exercise some
control over the distribution of objects into fragments.

If you have a structured key {Continent, ...}, you could
select a fragment from a subset of fragments on the
right continent. These fragments could be replicated
"intra-continentally", and you could perhaps guard against
someone diving down to the bottom of the Atlantic and
cutting the Transatlantic link, by implementing geographical
redundancy (asynchronously logging events to a backup
store on another continent.)

BTW, there is an old slide kit, called Mnesia Internals.
It's supposed to be available here:


but I'm getting a "Bad Gateway" error at the moment.

Ulf W

Joel Reymont skrev:
> How does Erlang change or improve this situation?
> http://tinyurl.com/2745ha
> I can't imagine a fragmented Mnesia table would help here, not when  
> one chunk lives in Europe and another in the US.
> I also imagine there would be significant costs in Transatlantic  
> replication (in terms of transaction time, not dollars) if a regular  
> distributed Mnesia table is used.
> I want to dig deep into Mnesia for the corresponding chapter of my  
> book. I plan to try to figure out and write up the distributed commit  
> protocol, for example.
> I think I'll also try to set up exactly the scenario that the above  
> article describes (two machines, multiple Mnesia nodes) and simulate  
> denial of service attacks, tripping over power cords, etc.
> I want to know exactly how much network bandwidth is taken by  
> replication among other things and what exactly happens when I bring  
> up a Mnesia node that went down. There was a discussion of this  
> recently but nothing beats a step by step explanation.
> 	Thanks, Joel
> --
> http://wagerlabs.com
> _______________________________________________
> erlang-questions mailing list
> http://www.erlang.org/mailman/listinfo/erlang-questions

More information about the erlang-questions mailing list