Mnesia: A Distributed DBMS Rooted in Concurrency
Feb 11, 2010, 18:03 (0 Talkback[s])
(Other stories by Roberto Giorgetti)
Desktop-as-a-Service Designed for Any Cloud ? Nutanix Frame
"Mnesia is a complete database management system (DBMS) included
in Erlang OTP, an open source development environment for
concurrent programming based on the Erlang language. As Mnesia is a
true DBMS, distributing, replicating and fragmenting your data with
it—even among thousands of nodes around the world—is
child's play. You only need to run different Erlang nodes where you
want to distribute the Mnesia database.
"The story of how Mnesia got its name is probably apocryphal,
but legend has it that the original name was Amnesia until an
Ericsson executive declared that a database couldn't be called
something associated with forgetting. So, the engineers dropped the
"A" and built Mnesia, something that remembers all. Mnesia offers
the fault tolerance feature of any program implemented in Erlang,
and you can interact with the database in Erlang itself. With
Mnesia, Erlang becomes a database language.
"In this article, I highlight some of Mnesia's important
features. The file test.erl provided in the source code download
contains some simple functions that group together a few lines of
code. It mainly uses an Erlang shell."