[erlang-questions] MySQL cluster - MnesiaXXL

Yariv Sadan <>
Mon Oct 23 18:44:16 CEST 2006


On 10/22/06, Pat e <> wrote:
> BTW
> After all is it wise to gamble (i know all of you will say it isn't :)
> a site reputation and speed when all Mnesia sh#t blows up into your
> face... but we need real time, and that is where Mnesia it seems
> shines!
> Why real time... well lets say you want AJAX tech implemented for all
> future 5 million users, with all of them contacting each other RT, and
> not have single glitch in delivery time and reliability (well
> something like big phone switch operator), and also have for the ease
> of use (LOL :) have user data on Mnesia disk tables ;)

I disagree :)

I know what you're thinking:

MySQL = database
Mnesia = database
MySQL + Mnesia = 2 databases = SCARY

However, this changes greatly when you change your thinking so that

Mnesia = cache
MySQL + Mnesia = database + cache = "easy, and everyone is doing it"

(in fact, I believe I've heard of some popular hack called memcachd, no ? :) )

To build your app, all you need besides MySQL is one Mnesia table that
holds {Node, UserId} tuples. When user A send tries to send a message
to user B, you look up the tuple where UserId == B and then you go

Node ! {msg, A, B, Msg}

That's it. If you want to render HTML pages that display large amounts
of data such as user profiles, etc, you user ErlyDB to write the
horriby complex expression

user:find_id(17)

That's all there is to it.

At least, that's my take on the problem (without knowing much about
what the problem is) :)



>
> I know I'm boring, and that you talked about it many times, but if you
> don't try - you don't fly (and if you fly, you can also dive easily
> :=).

And if you are going to fly, use a plane instead of hacking yourself a
pair of wings :)

BR
Yariv



More information about the erlang-questions mailing list