&gt; Dets uses 32 bit integers for file offsets, so the largest possible mnesia table (for now) is 4Gb.<p>Ehhhhhhhh, kinda, but not really. A couple of things: [0]<p>* If you use a disc_only_copies table, your max table size is ~2GB because that&#x27;s apparently the largest file that DETS will work with. What&#x27;s more, if your table grows to ~2GB, future writes (to that table) will <i>silently fail</i> until the table size is reduced.(!!!) You can kinda get around this limitation by sharding your table [1], but the hash used to determine what key goes to which shard isn&#x27;t very balanced... sometimes you luck out and your shards are pretty much all the same size. Other times you end up with a few outsized shards.<p>* However! Everyone on the erlang-questions mailing list says that disc_copies and ram_copies tables are _<i>NOT</i>_ subject to this limit, so they can grow arbitrarily large.<p>* And, the general consensus seems to be that you really don&#x27;t want to be using Mnesia in disc_only_copies mode... if you have too much data to fit into RAM, you should probably consider using something else to store your data. This isn&#x27;t to say that using Mnesia in disc_only mode is bad or <i>hazardous</i>, [2] but that it&#x27;s substantially slower than disc_copies or ram_copies, and you run the risk of bumping up against the DETS file size limitation.<p>[0] All observations valid for Erlang 17-&gt;18 only. Check Erlang release notes to see if major changes have occurred.<p>[1] Mnesia handles sharded tables really well, even if the documentation for the feature isn&#x27;t the best.<p>[2] I use it in disc_only mode for one of my projects... it&#x27;s how I learned about that mode&#x27;s limitations. :p