<div dir="ltr">Is it possible to denormalize the data so that you don't have so many tables? Mnesia can behave as a hierarchical database because you can store arbitrarily complex terms, including what amounts to trees (lists of tuples of lists of.....). If your queries are likely to remain the same over time and you don't need ad-hoc queries, could you consider this approach? The problem with any hierarchy, of course, is that if you get it wrong it can be hell on wheels to fix.<br>
<br><div class="gmail_quote">On Tue, Sep 30, 2008 at 12:23 PM,  <span dir="ltr"><<a href="mailto:Dana.RUBINO@rbs.com">Dana.RUBINO@rbs.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Thanks Taavi,<br>
<br>
That wasn't the answer I was looking for! :-D<br>
<br>
Oh dear, well that leaves my plan for using Mnesia in tatters.<br>
<br>
I actually need an in memory db which at least has the core subset of RDBMS features. So I am essentially just looking for a small in memory DB for real-time access.<br>
<br>
Has anyone here had any experience using something like KDB with Erlang?<br>
<br>
Perhaps I could switch to using KDB as an alternative?<br>
<br>
Many Thanks,<br>
Dan<br>
<div><div></div><div class="Wj3C7c"><br>
-----Original Message-----<br>
From: Taavi Talvik [mailto:<a href="mailto:taavi@uninet.ee">taavi@uninet.ee</a>]<br>
Sent: 30 September 2008 17:19<br>
To: RUBINO, Dana, GBM<br>
Cc: <a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
Subject: Re: [erlang-questions] Extremely poor Mnesia performance<br>
<br>
<br>
On Sep 30, 2008, at 5:58 PM, <<a href="mailto:Dana.RUBINO@rbs.com">Dana.RUBINO@rbs.com</a>> wrote:<br>
<br>
><br>
> Hey all,<br>
><br>
> I am doing some benchmarking with Mnesia at the moment and am pretty<br>
> disappointed to say the least.<br>
><br>
> I'm hoping I am doing something wrong.<br>
><br>
> Running a 5 table join below: (two of the tables have ~50k rows the<br>
> rest a couple of hundred)<br>
<br>
Probably you are not doing anything wrong. From mnesia introduction (<a href="http://www.erlang.org/doc/apps/mnesia/Mnesia_chap1.html#1" target="_blank">http://www.erlang.org/doc/apps/mnesia/<br>
Mnesia_chap1.html#1</a>),<br>
it design goals are:<br>
===<br>
In telecommunications applications there are different needs from the features provided by traditional DBMSs. The applications now implemented in the Erlang language need a mixture of a broad range of features, which generally are not satisfied by traditional DBMSs.<br>

Mnesia is designed with requirements like the following in mind:<br>
<br>
        * Fast real-time key/value lookup<br>
        * Complicated non real-time queries mainly for operation and maintenance<br>
        * Distributed data due to distributed applications<br>
        * High fault tolerance<br>
        * Dynamic re-configuration<br>
        * Complex objects<br>
===<br>
<br>
Mnesia is not designed as replacement for relational database. It is optimised for fast key-value lookup and distribution.<br>
<br>
With qlc:info(Qh) you can get more information, how query is actually handled.<br>
<br>
best regards,<br>
taavi<br>
<br>
</div></div><div class="Ih2E3d">***********************************************************************************<br>
The Royal Bank of Scotland plc. Registered in Scotland No 90312. Registered Office: 36 St Andrew Square, Edinburgh EH2 2YB.<br>
Authorised and regulated by the Financial Services Authority<br>
<br>
This e-mail message is confidential and for use by the<br>
addressee only. If the message is received by anyone other<br>
than the addressee, please return the message to the sender<br>
by replying to it and then delete the message from your<br>
computer. Internet e-mails are not necessarily secure. The<br>
Royal Bank of Scotland plc does not accept responsibility for<br>
changes made to this message after it was sent.<br>
<br>
Whilst all reasonable care has been taken to avoid the<br>
transmission of viruses, it is the responsibility of the recipient to<br>
ensure that the onward transmission, opening or use of this<br>
message and any attachments will not adversely affect its<br>
systems or data. No responsibility is accepted by The<br>
Royal Bank of Scotland plc in this regard and the recipient should carry<br>
out such virus and other checks as it considers appropriate.<br>
Visit our websites at:<br>
<a href="http://www.rbs.com" target="_blank">www.rbs.com</a><br>
<a href="http://www.rbs.com/gbm" target="_blank">www.rbs.com/gbm</a><br>
<a href="http://www.rbsgc.com" target="_blank">www.rbsgc.com</a><br>
***********************************************************************************<br>
<br>
_______________________________________________<br>
</div><div><div></div><div class="Wj3C7c">erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org">erlang-questions@erlang.org</a><br>
<a href="http://www.erlang.org/mailman/listinfo/erlang-questions" target="_blank">http://www.erlang.org/mailman/listinfo/erlang-questions</a><br>
<br>
</div></div></blockquote></div><br></div>