Why isn’t mnesia the most preferred database for use in Elixir/Phoenix?

Regarding different backends you should at Klarna’s eleveldb. This video is from 2010 and there as been some developments, both in mnesia to better work with different backends and the backends themselves. I think there even is a presentation or talk about mnesia + leveldb if you search for it.

and a later derivative work for rocks db

It is not erlang list comprehensions but rather “Query List Comprehensions”. It is a module (qlc) in erlang which can be used on any data structure which supports them. They are parse transforms (the closest erlang comes to macros?) so can’t be used directly from elixir.

Perhaps, but I would not recommend. Not only for mnesia but distributed erlang in general. The faster the network between nodes the better. I think they are working on modifying the distribution layer though so this may change to the better in the future.

Yes, and this can cause some problems with default settings as you can run out the maximum number of ETS tables. The number can be increased so no big deal but perhaps good to know.

5 Likes