I’m definitely not an Mnesia expert, as I haven’t had the chance to use it in production yet, but I can certainly share a bit about it.
Mnesia is a distributed database that you can run alongside your BEAM application. Built in the early days of Erlang, it’s a remarkable piece of technology that can handle distributed storage at scale and is definitely in use in some serious production cases. A quick YouTube search highlights some real-world applications:
- https://www.youtube.com/watch?v=NpMk2OdAvDw
- https://www.youtube.com/watch?v=93MA0VUWP9w
- https://www.youtube.com/watch?v=Z0555wZiEpE
To start learning more, a great resource is the Erlang documentation: Erlang -- Mnesia Database Questions
Mnesia does have a few pain points that show its age. A major one for me is the persistent disk size limitation. If you can’t fit all your data into memory, it becomes quite challenging to use Mnesia effectively.


















