[erlang-questions] Re: how to scale into the cloud using process? example computing simple average
Joel Reymont
joelr1@REDACTED
Mon Jun 1 12:56:59 CEST 2009
On May 30, 2009, at 1:44 PM, Ulf Wiger wrote:
> Or are you referring to the lack of a 'merge' of
> two table copies?
Yes.
> This is a more difficult thing to
> add. Right now, that would have to be done by
> extracting records from the non-master, have it
> restart and load tables from the master, then
> re-inserting the records. Since this cannot be done
> within a larger transaction, it might be necessary to
> delay requests from the application layer during this
> time.
I think the only way to solve this would be to keep a separate
transaction log. Then you could try to merge the logs from
disconnected nodes and re-apply transactions in different order to
build a merged database.
Then again, who knows what the right order is?
Either way, it does not bode well to keeping "account balances" in
Mnesia for example, since you could easily overdraw your account if
you manage to hit two disconnected nodes.
> Which DBMSes have a good solution to this problem?
> How do they do it? And what prevents using the same
> strategy with mnesia?
I think Oracle has a solution. I heard that they use 3 copies of the
database to settle on a good one.
> (Mnesia's supposed lack of support for handling
> partitioned networks has more or less become an
> urban legend.
An urban legend is a story that's untrue ;-).
> Everyone assumes that this is a
> major weakness in mnesia, but there is very little
> detail about how the competing alternatives
> supposedly handle this in a much better way.
This is mostly because almost no competing alternative tries to build
a multi-master cluster with real-time replication.
---
Mac hacker with a performance bent
http://www.linkedin.com/in/joelreymont
More information about the erlang-questions
mailing list