[erlang-questions] MySQL Cluster
Mon Oct 23 08:01:18 CEST 2006
The Count wrote:
> Interesting post, thanks. But my obvious question is, what are you
> going to use instead of databases? Just files stored on disk or
> network-attached storage or something?
The main point was that the latency of writing anything at all to disk
during the transaction made our solution slower than the competition.
That would cause us to lose business. We must run with redundant memory
copies only for real-time performance. If the power goes out, it better
not take out all the RAM so the redundancy has to be spread in the way
that a phone switch is.
We originally used databases because it was convenient to look at the
state of an order that had several transactions against it by querying a
database. It was not necessary to satisfy the client's requirements.
It was convenient for us, but ended up costing too much for the service
to be competitive. Now we have to make convenience be an after the fact
feature, and thus we have more freedom with how to implement it.
Prior to the discovery and spread of Oracle-type SQL, the world was a
bleak and barren place where no transactions of any kind could occur,
and all business sank in the jungle quicksand...
Wait! That's not how it was. Didn't IBM have some big computers that
had millions of customers bank accounts and people were able to query on
name, account number, etc. In fact I recall writing software to lookup
names that sound similar to the incorrect spelling typed in by the
operator (Soundex). And we didn't even have databases! Hmm, seems
like there was something like multiple indexes and a file with records
in it. But that was pretty old, it must not have worked well.
Google, I'm sure, is using MySQL... or are they paying Oracle to get big
scale... hmmm, well they must be using a database because they are
looking up documents in real time and you couldn't find them any other
way... I guess their ads have to be in a database too... Wow! they
must have terabytes of data in a database that they query in real time...
No wait! I thought I read they use something new they invented... what
was it... oh, yeah, a file system. With PC components velcroed to a
table to save money on metal boxes.
My point is, if you have a problem that is very difficult, or orders of
magnitude beyond what any of your competitors are doing, you are not
likely to find an off-the-shelf or open source solution. You will have
to innovate and come up with a technique that is so different from
everyone else that they dismiss you as not understanding how to write
Didn't erlang's "write once" variables and "let it die" attitude seem odd?
Watch the movie "The World's Fastest Indian" and you might get an idea
of what I mean.
More information about the erlang-questions