mnemosyne and BIG databases (Re: mnesia power index -- What about fragmentation?)

Thomas Lindgren thomasl_erlang@REDACTED
Mon Feb 21 11:25:09 CET 2005

--- Ulf Wiger <ulf@REDACTED> wrote:
> As I
> understand it, mnemosyne also did some very clever
> query optimization, which made it clearly outperform
> e.g. Oracle on some very complex queries on large 
> data sets.

My impression from hearing about a colleague's
mnemosyne woes (at Bluetail) was the opposite: that
there was very little query optimization. In that
case, straightforward queries over multiple tables
were quite slow. (Mnemosyne was subsequently replaced
by direct db operations when queries turned out to be
embarrasingly expensive for larger datasets.)

(An alternative explanation could be that, as so often
with this sort of optimizations, you really have to
write your programs/queries so that the optimizer
recognizes them. Though I haven't really looked into
mnemosyne to see whether that is the case.)

> In R10, OTP takes a clear step away from mnemosyne
> by stating that:
> "QLC (Query List Comprehensions) is another solution
> for queries
> to Mnesia, Ets and Dets tables which will be the
> recommended way
> to perform queries. QLC belongs to Stdlib and is
> described there.

A related question, to whoever it may concern: why
were QLCs introduced? Why not fix mnemosyne instead?
To the casual user (that is, me), they seem quite


Do you Yahoo!? 
Yahoo! Mail - Helps protect you from nasty viruses.

More information about the erlang-questions mailing list