Need help understanding using async_dirty instead of Transactions

Hello everyone, I watched Rick Reed’s video about scaling Whatsapp Server and about Parallelizing the Mnesia Database he said : “we were doing mostly async_dirty and to give us much consistency as possible since we don’t have transactions running around this staff, we isolate all the record access to a single process on a single node by hashing”,
All that I have understand from that, is that using async_dirty instead of Transactions will cause a loss of Isolation Property ensured by Transaction, but this “we isolate all the record access to a single process on a single node by hashing” is absolutely not understood for me so please can someone clear things about ?

2 Likes

My interpretation of Rick Reed’s 2014 presentation is that their async_dirty activities (a Mnesia term) are limited to accessing single records. In that case you can hash on the Oid (table + primary key) to select which worker to execute the access, while maintaining consistency.

3 Likes