mnesia growth limits

Ulf Wiger <>
Mon Jul 25 23:20:34 CEST 2005


Den 2005-07-25 15:34:17 skrev Sebastian Bello <>:

> Hi all,
>
> some questions regarding a mnesia database growth:
> 1- is there a limit in the number of records a database running on a  
> single node can hold? How is this limit related to the individual  
> tables' limits?

There isn't really a hard limit, unless all data resides in
RAM. Then, mnesia is limited by the 4 GB address space in the
current Erlang VM. Of course, this is not a limit on the
number of records, but rather the total memory occupied by
the table. I've personally had 10-20 million small objects
in one node without problems, and others may have managed
more.

There is no per-table limit. There is a configurable limit
on the number of ETS tables allowed in the system. This is
usually not a big problem for mnesia, as the default is
ca 1400 tables.


> 2- in a disk_copies database, how does the amount of memory affect  
> mnesia's performance?

A disc_copies table keeps all objects both in RAM (ets tables)
and on disk. Thus, for good performance, all objects should
fit comfortably within physical memory.

However, with swapping enabled, things can work out reasonably
well even if you exceed the physical memory, if a rather large
portion of the data is only accessed very seldomly. Whether
this holds for your applicaation is something you should
explore through experimentation.

/Uffe




More information about the erlang-questions mailing list