mnesia is great in isolation with bounded datasets.  erlang is great for operational observability of both the data flow and your application.  they go great together, sometimes, if you know all your requirements up front.<p>It&#x27;s always good to keep in mind erlang+mensia were designed to run in a &quot;network&quot; consisting of a unified blade chassis (each blade is a new node, and the network is a physical backplane).  So, things like network partitions around erlang distribution and remote mensia tables don&#x27;t have easy&#x2F;proper error recovery strategies.<p>Even with unbounded datasets, mensia is great if you devote an engineering team to managing the scaling of it because amnesia can&#x27;t do simple things like move a DB from one node to another without semi-advanced erlang+mnesia knowledge.  But, whatsapp was (is?) 100% mensia last I recall, even though they had to reengineer some of it: <a href="http:&#x2F;&#x2F;www.erlang-factory.com&#x2F;upload&#x2F;presentations&#x2F;558&#x2F;efsf2012-whatsapp-scaling.pdf" rel="nofollow">http:&#x2F;&#x2F;www.erlang-factory.com&#x2F;upload&#x2F;presentations&#x2F;558&#x2F;efsf2...</a><p>But, mensia still relies on dets and dets still, in 2015, has a 2 GB max file size.  If your data grows beyond 2 GB, you have to do mnesia fragmentation which is just an operational burden.<p>My scaling thoughts tend towards: sqlite -&gt; postgres -&gt; riak