Mnesia

Mnesia Reference

Erlang's Mnesia - a distributed DBMS for highly scalable apps

See Erlang's Mnesia - a distributed DBMS for highly scalable apps

If you want to scale to the petabyte level, or the billion requests a day, you need to be:

  • Distributed. The data has to be distributed across multiple machines.
  • Joinless. No joins, and no referential integrity, at least at the data store level.
  • De-Normalized. No one said this explicily, but I presume there is a lot of de-normalization going on if you are avoiding joins.
  • Transcationless. No transactions.

Those constraints represent something fundamentally different from a relational database.

These attributes can be used to describe Mnesia , the Erlang distributed DBMS, that supports high scalability and fault tolerance through replication, with the ability to lookup records without the need for a traditional relational database join. Mnesia is part of Erlang/OTP and designed to be used with Erlang language applications running on the Erlang VM (there are interfaces available for C/C++ and Java).

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License