[erlang-questions] Extremely poor Mnesia performance

Hynek Vychodil <>
Tue Sep 30 21:56:10 CEST 2008


I'm sorry for multiply send but gmail was started stammering. I guess just
twice send but those is worse. They should use Erlang :-)

2008/9/30 Hynek Vychodil <>

> Mnesia is application database but general RDBMS. Mnesia is not optimized
> for works such as crunch thousands of rows and many joins for each.
> Application database means for example you can combine many different
> nontrivial tasks programed in application language (Erlang) in various ways
> with ability recursive including it in transactions. Mnesia is barely fast
> even you do complex tasks in reliable and maintainable fashion. You are able
> write your code in natural application way but you are still fast enough.
> You don't need make trade off readability and maintainability by performance
> or reliability and you gain all of this in distribute environment,
> partitioning, mirroring and so. If you start compare application using
> mnesia for many complex but not data expensive tasks with requirement of
> readability you found mnesia is light faster than classic RDBMS approach. If
> you need simple fast data intensive crunch, use classic RDBMS. If you need
> complex data non intensive and various tasks with distribution and
> reliability, use mnesia. That's all. Your task is nothing more than just
> relational data crunch. It is primitive from mnesia point of view and you
> don't use killer features of it.
>
> On Tue, Sep 30, 2008 at 4:58 PM, <> wrote:
>
>>
>> Hey all,
>>
>> I am doing some benchmarking with Mnesia at the moment and am pretty
>> disappointed to say the least.
>>
>> I'm hoping I am doing something wrong.
>>
>> Running a 5 table join below: (two of the tables have ~50k rows the rest a
>> couple of hundred)
>>
>> execute(qlc:q([I#i.user_id       ||   I <- mnesia:table(i),
>>                                                C <- mnesia:table(c),
>>                                                I#i.user_id =:=
>> C#c.user_id,
>>                                                I#i.group =:= "Group A",
>>                                                P <- mnesia:table(p),
>>                                                T <- mnesia:table(t),
>>                                                S <- mnesia:table(s),
>>                                                C#c.platform_id =:=
>> P#p.platform_id,
>>                                                C#c.trans_id =:=
>> T#t.trans_id,
>>                                                C#c.sales_id =:=
>> S#s.sales_id
>>                                                ])).
>>
>> On a normal RDBMS this query returns in < 1min. I am yet to get a result
>> from Mnesia and its been running for 10 mins.
>>
>> Is there anyway I can see what's going wrong with this query under the
>> hood?
>>
>> Thanks,
>> Dan
>>
>>
>> ***********************************************************************************
>> The Royal Bank of Scotland plc. Registered in Scotland No 90312.
>> Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.
>> Authorised and regulated by the Financial Services Authority
>>
>> This e-mail message is confidential and for use by the
>> addressee only. If the message is received by anyone other
>> than the addressee, please return the message to the sender
>> by replying to it and then delete the message from your
>> computer. Internet e-mails are not necessarily secure. The
>> Royal Bank of Scotland plc does not accept responsibility for
>> changes made to this message after it was sent.
>>
>> Whilst all reasonable care has been taken to avoid the
>> transmission of viruses, it is the responsibility of the recipient to
>> ensure that the onward transmission, opening or use of this
>> message and any attachments will not adversely affect its
>> systems or data. No responsibility is accepted by The
>> Royal Bank of Scotland plc in this regard and the recipient should carry
>> out such virus and other checks as it considers appropriate.
>> Visit our websites at:
>> www.rbs.com
>> www.rbs.com/gbm
>> www.rbsgc.com
>>
>> ***********************************************************************************
>>
>> _______________________________________________
>> erlang-questions mailing list
>> 
>> http://www.erlang.org/mailman/listinfo/erlang-questions
>>
>
>
>
> --
> --Hynek (Pichi) Vychodil
>
> _______________________________________________
> erlang-questions mailing list
> 
> http://www.erlang.org/mailman/listinfo/erlang-questions
>



-- 
--Hynek (Pichi) Vychodil
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://erlang.org/pipermail/erlang-questions/attachments/20080930/250bf464/attachment.html>


More information about the erlang-questions mailing list