mnesia + leveldb: liberating mnesia from the limitations of DETS

Mikael Pettersson
Senior Developer at Klarna

Mnesia offers various database features, but restricts users to a few storage engines with substantial limitations. This talk describes mnesia_ext, an extension which allows arbitrary storage engines to be plugged into mnesia, and how Klarna used this to migrate parts of its database to LevelDB. We will also talk about our experiences with LevelDB, and some improvements we have made.

Talk objectives:

- Present mnesia_ext. Show that LevelDB is a production-grade storage engine for Erlang (with or without mnesia on top).

Target audience:

- Backend developers. Erlang/OTP maintainers.


Started out in academia studying formal semantics of programming languages. Shifted towards compilers, runtime support, and virtual machines. Researcher in the HiPE group working on compiling Erlang to native code, and various aspects of the Erlang VM. Worked on performance analysis tools for the high-performance computing market. Now works for Klarna, on its Erlang-based transaction engine. Wishes Erlang had Scheme's syntax and SML's type system. Cider maker and former beer brewer.

GitHub: mikpe

Back to conference page