Some folks did some benchmarks with mnesia with a secondary index, and
write performance was terrible (~40 times slowdown for inserts?). But
I could not find it in the archives. Who was it?
> There will be about 1-5 millions of records, approx the equal number of
> reads, inserts and deletes.
> The queries will be mostly "check if at least one record exists where given
> indexed field value = ...", "insert ...", and "delete all records where
> indexed field value=xxx". Total of 4 fields, so either one table with 4
> indexed fields, or 4 tables with key_field + counter.
> The table(s) will be disc_only_copy, as RAM matters.
On the other hand, it does not seem like too much work to measure
both. And you will have a definite answer.
--
Motiejus Jakštys
_______________________________________________
erlang-questions mailing list
erlang-q...@erlang.org
http://erlang.org/mailman/listinfo/erlang-questions
Indeed it was Scott, here:
http://erlang.2086793.n4.nabble.com/Mnesia-and-additional-indexes-a-cautionary-tale-td2088434.html
And I have done some benchmarks which confirmed crappy insert
performance with secondary indices, but it was not very thorough,
because I bumped into a more severe problem, see below.
On 05/28/2013 02:26 PM, John Doe wrote:
> The table(s) will be disc_only_copy, as RAM matters.
Last time I checked (R14 I think) mnesia never stored the secondary
indices, so it would recreate them every time you restarted the node,
and given that you have an order of 10^6 record this will have either a
significant or a very significant impact on your start time, so you
might want check if that's still the case and decide whether it's a
problem for you.
--
Ignas