[erlang-questions] Can Mnesia replace conventional RDBMS?

Ulf Wiger ulf@REDACTED
Sun Jun 2 20:02:29 CEST 2013

I don't think the documentation says that (at least I can't find it).

If you keep data in ram_copies or disc_copies, and run a 64-bit VM, tables can be larger than that. How much data you can have in practice will e.g. depend on your tolerance for long startup times (disc_copies must be loaded into RAM at startup).

Disc_only_copies are in fact limited to 2 GB, and you _really_ don't want to exceed that, as mnesia doesn't have a nice way of handling errors at that level - the result will likely be inconsistencies in the database. And even if you fragment your disc_only_copies tables, Dets repair can result in unacceptably long restart times. You need to measure and consider your requirements.

Mnesia is a very different beast from Oracle et al. It shines as a low-latency RAM database (with optional persistency), esp. in applications where the access patterns are well known at design-time. Oracle, for example, sacrifices response time for throughput, and adds overhead with e.g. query optimization, which is a good deal if your queries are ad-hoc or you have tons of data and prefer to defer search strategies to the database itself.

Ulf W

On 2 Jun 2013, at 10:19, Yash Ganthe wrote:

> The Mnesia documentation says:
> largest possible mnesia table (for now) is 4Gb
> A table can be distributed across nodes so that part of it remains on one node and part on another. In a distributed sense, does this mean 4GB per table per node, or 4GB per table across nodes?
> Is there a way by which Mnesia can be used in a system that will store about 100GB of data in some tables and support ACID properties just like popular RDBMS's like MySQL/Oracle?
> Thanks,
> Yash
> _______________________________________________
> erlang-questions mailing list
> erlang-questions@REDACTED
> http://erlang.org/mailman/listinfo/erlang-questions

Ulf Wiger, Co-founder & Developer Advocate, Feuerlabs Inc.

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20130602/36c95bbe/attachment.htm>

More information about the erlang-questions mailing list