Pregunta

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 ?

¿Fue útil?

Solución

According to Mnesia User's Guide:

  • async_dirty activities "will wait for the operation to be performed on one node but not the others".
  • For sync_dirty activities: "The caller will wait for the updates to be performed on all active replicas".
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top