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

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 :smiley:

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/klarna/mnesia_eleveldb

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

dets is still used for ‘disk_only’ tables. 2GB limitation

disk_log is used for disk_copies (no size limitation on disk).

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

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