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 ?
According to Mnesia User's Guide:
async_dirty
activities "will wait for the operation to be performed on one node but not the others".sync_dirty
activities: "The caller will wait for the updates to be performed on all active replicas".