[erlang-questions] Mnesia Replication and Large Numbers of Dirty Operations

Håkan Mattsson <>
Mon Oct 22 10:51:47 CEST 2012

Using dirty operations in a single node database may be ok, if you really
know what you are doing and do handle synchronization between you processes

But in a distributed setup with multiple nodes, you should use
transactions. Otherwise you can encounter inconsistencies during table

Mnesia transactions are not for free, but they give you ACID properties.


On Mon, Oct 22, 2012 at 9:44 AM, Joshua Muzaaya <> wrote:

> Some applications require really fast response, to meet their expectations
> to users. I am building one such application and i am using mnesia. Now,
> when we by-pass the mnesia transaction manager , we approach good
> performance. However, this is the problem:
> We need to replicate this database as part of load balancing, after-all,
> mnesia does the replication for us. We are using ONLY dirty operations in
> this application. We have a few parts using async_dirty context. I am
> wondering, would mnesia replication be affected if we are not using the
> transaction context at this scale ?
> Too many frequent dirty operations are occuring on records all the time,
> so i wonder if a request made on side B replica, would find the changes
> the have just been made by side A replica via a dirty operation ?
>   <http://www.linkedin.com/pub/muzaaya-joshua/39/2ba/202>
> <http://r1.wisestamp.com/r/landing?u=cf16262215eb8784&v=3.11.21&t=1350891828960&promo=10&dest=http%3A%2F%2Fwww.wisestamp.com%2Femail-install%3Futm_source%3Dextension%26utm_medium%3Demail%26utm_campaign%3Dpromo_10>
> _______________________________________________
> erlang-questions mailing list
> http://erlang.org/mailman/listinfo/erlang-questions
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20121022/f6071183/attachment.html>

More information about the erlang-questions mailing list