Mria - an eventually consistent Mnesia
summary
Mria adds eventual consistency to Mnesia and replaces full synchronous replication with a hybrid core/replicant design that shifts writes to a few core nodes while replicants subscribe to an intercepted transaction log. It reports running EMQX clusters of 20+ nodes, 100 million simultaneous clients, 50 million unique topics and keeps reads local for low latency. Testing combines lock-free Erlang and Concuerror model checking with fault injection and trace-based backfill verification; a small OTP hook intercepts post-commit transactions and bootstrap replay makes restarted replicas converge.
AI-written summary · about
chapters (11)
- 0:00Mria project intro
- 1:49Mnesia fits EMQX use case
- 2:51MQTT basics and challenges
- 5:44Mnesia write performance
- 6:50Mnesia replication protocol
- 9:40Mnesia commit flaws
- 12:07Mria hybrid architecture
- 16:22Consistency vs performance
- 17:25Bootstrapping replicants
- 20:56Replicant state machine
- 22:01Key takeaways
related talks
30mMria: an eventually consistent Mnesia
40mKhepri - Mnesia replacement
37mBreaking up with Mnesia
41mConsistent, Distributed Elixir
12mFault-Tolerant Replication with Pull-Based Consensus in MongoDB
15mKVIMR: Key-Value Store Aware Data Management Middleware for Interlaced Magnetic...
38m(...) Phoenix on Riak_Core
28mMongooseIM - The Right Tool for Scalable Messaging
