Mnesia Reference
- Mnesia Reference Manual (official)
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).