1 Introduction
The Mnesia
application provides a heavy duty real-time distributed database.
1.1 Scope
This User's Guide describes how to build Mnesia
database applications, and how to integrate and use the Mnesia
database management system with OTP. Programming constructs are described, and numerous programming examples are included to illustrate the use of Mnesia
.
This User's Guide is organized as follows:
-
Mnesia
provides an introduction toMnesia
. -
Getting Started
introducesMnesia
with an example database. Examples are included how to start an Erlang session, specify aMnesia
database directory, initialize a database schema, startMnesia
, and create tables. Initial prototyping of record definitions is also discussed. -
Build a Mnesia Database
more formally describes the steps introduced in the previous section, namely theMnesia
functions that define a database schema, startMnesia
, and create the required tables. -
Transactions and Other Access Contexts
describes the transactions properties that makeMnesia
into a fault tolerant, real-time distributed database management system. This section also describes the concept of locking to ensure consistency in tables, and "dirty operations", or short cuts, which bypass the transaction system to improve speed and reduce overheads. -
Miscellaneous Mnesia Features
describes features that enable the construction of more complex database applications. These features include indexing, checkpoints, distribution and fault tolerance, disc-less nodes, replication manipulation, local content tables, concurrency, and object-based programming inMnesia
. -
Mnesia System Information
describes the files contained in theMnesia
database directory, database configuration data, core and table dumps, as well as the important subject of backup, fall-back, and disaster recovery principles. -
Combine Mnesia with SNMP
is a short section that outlinesMnesia
integrated with SNMP. -
Appendix A: Backup Callback Interface
is a program listing of the default implementation of this facility. -
Appendix B: Activity Access Callback Interface
is a program outlining one possible implementation of this facility. -
Appendix C: Fragmented Table Hashing Callback Interface
is a program outlining one possible implementation of this facility.
1.2 Prerequisites
It is assumed that the reader is familiar with the Erlang programming language, system development principles, and database management systems.
© 2010–2017 Ericsson AB
Licensed under the Apache License, Version 2.0.