From: Joshua Gargus schwa@fastmail.us Reply-To: The general-purpose Squeak developers listsqueak-dev@lists.squeakfoundation.org To: The general-purpose Squeak developers listsqueak-dev@lists.squeakfoundation.org Subject: Re: relational for what? [was: Design Principles Behind Smalltalk,Revisited] Date: Tue, 2 Jan 2007 15:21:48 -0800
What, really? There are many possible reasons that Google don't use an RDBMS to index the web: stupidity, arrogance, excessive cost of an RDBMS, sound engineering decisions, or a combination of these.
I'm not saying Google are idiots. Clearly not. I was basically just questioning using them as some sort of counter point against RDBM systems. I think you could do the same thing they did with a RDBMS, but not on a bunch of low end computers. You would have to spend some cash.
According to the computer systems research community, Google has sound engineering reasons for its architecture; they have published papers at top conferences such as OSDI and SOSP. See http:// labs.google.com/papers ("The Google File System" and "BigTable..." might be the most relevant to this conversation).
Yes of course. And look at what they are doing: Fault tolerant systems on a large number of commodity boxes. Almost the opposite of an RDBMS. :)
That's not rule out the possibility of stupidity, arrogance, excessive cost, etc.. But it does cast doubt on the unsubstantiated claim that Google could "do exactly the same thing with a lot less CPUs".
Well, it would be time consuming (and probably expensive) to prove, but I still think the statement is ok. But it will be big boxes and big CPUs with lots of through-put.
As you mentioned in a follow-up email, this wasn't the paper you meant. Although it has nothing whatsoever to do with RDBMSes, I would recommend anyone who has enough free time to learn enough Haskell to read that paper.
Did you happen to find the intended link?
Yes, http://lambda-the-ultimate.org/node/1896
Certainly RDBs are essential to the operations of the modern enterprise, but how much of this is because RDBs are really the best imaginable approach to this sort of thing, and how much is due to a complicated process of co-evolution that has resulted in the current enterprise software ecosystem?
Here I think you envision more religious fervor behind my words than exist. It is nothing more then a "toolbox" issue for me. A problem comes up, what is the fastest way to solve it weighed against the suspected length of the project and how scalable the solution? For me there are times I reach for the RDBMS. There are other times I would reach for an OODB (I plan to use magma to persist my website). Or maybe a combination (I am *very* impressed of what I have seen from GLORP so far), or maybe just stick it in memory.
Which is going to be the best? Well it is our jobs as engineers to weigh all the factors and answer that question, but for every isolated case.
_________________________________________________________________ Type your favorite song. Get a customized station. Try MSN Radio powered by Pandora. http://radio.msn.com/?icid=T002MSN03A07001