[erlang-questions] MySQL Cluster

Jay Nelson jay@REDACTED
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 
software.

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.

jay




More information about the erlang-questions mailing list