# What backend is used in mnesia for on-disk or memory and disk tables?

**URL:** <https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717>\
**Category:** Questions / Help\
**Tags:** mnesia\
**Created:** [April 30, 2025, 8:05pm UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717 "2025-04-30T20:05:41Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![coder-001](https://erlangforums.com/letter_avatar_proxy/v4/letter/c/a698b9/32.png) [@coder-001](https://erlangforums.com/u/coder-001)\
**Post date:** [April 30, 2025, 8:05pm UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717/1 "2025-04-30T20:05:41Z")

</div>

I have read on the elixir forum that mnesia retired dets for disk storage due to its size limitation. And I just wanted to know what is being used now.

Thank you 😃

---

<div class="post-metadata">

**Author:** ![LeonardB](https://erlangforums.com/user_avatar/erlangforums.com/leonardb/32/1856_2.png) [@LeonardB](https://erlangforums.com/u/LeonardB)\
**Post date:** [May 1, 2025, 12:54am UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717/2 "2025-05-01T00:54:04Z")

</div>

That’s incorrect afaik.

There are alternative storage backends that can be used though.

2 immediately come to mind; rocksdb and leveldb

[https://github.com/aeternity/mnesia\_rocksdb](https://github.com/aeternity/mnesia_rocksdb)  
[https://github.com/klarna/mnesia\_eleveldb](https://github.com/klarna/mnesia_eleveldb)

I use the rocksdb backend in a number of projects, and it’s been solid.

---

<div class="post-metadata">

**Author:** ![dgud](https://erlangforums.com/user_avatar/erlangforums.com/dgud/32/191_2.png) [@dgud](https://erlangforums.com/u/dgud)\
**Post date:** [May 1, 2025, 7:40am UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717/3 "2025-05-01T07:40:49Z")

</div>

dets is still used for ‘disk\_only’ tables. 2GB limitation

disk\_log is used for disk\_copies (no size limitation on disk).

---

<div class="post-metadata">

**Author:** ![coder-001](https://erlangforums.com/letter_avatar_proxy/v4/letter/c/a698b9/32.png) [@coder-001](https://erlangforums.com/u/coder-001)\
**Post date:** [May 1, 2025, 12:34pm UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717/4 "2025-05-01T12:34:19Z")

</div>

Thanks for the insight, do you mind sharing why dets is still used for disk\_only tables despite its limitation? even if one decides to use table fragmentation it is still limited to non local\_content tables

---

<div class="post-metadata">

**Author:** ![dgud](https://erlangforums.com/user_avatar/erlangforums.com/dgud/32/191_2.png) [@dgud](https://erlangforums.com/u/dgud)\
**Post date:** [May 6, 2025, 8:24am UTC](https://erlangforums.com/t/what-backend-is-used-in-mnesia-for-on-disk-or-memory-and-disk-tables/4717/5 "2025-05-06T08:24:16Z")

</div>

There is no other disk library inside OTP that can provide the functionality.  
And not easy to write it either.
