On Dec 26, 2007, at 6:58 PM, Suresh Ramasubramanian wrote:
J. Andrew Rogers [26/12/07 11:45 -0800]:
- The use of MySQL is based in fanboi-ism, not rational technology selection. Google is as prone to this as any other tech organization.

I am sorry but I have to disagree. We made an informed choice about seven
or eight years ago to stick to mysql - for an email provider with 76
million ++ users, on the fly replication of userdb and such.


Oh, seven or eight years ago I would absolutely agree with you. At that time there was no other choice worth considering if you could not afford Oracle.


When you want blazing fast searches on a large db (but a simple one)
mysql's the db for you. [well it was then .. and if we change we'd have to
rip the guts out of more than one system and migrate massive databases
over, so .. as it works quite fine, we'll stick with it]


These days, PostgreSQL is faster by almost any measure than MySQL, even for simple queries, and comes with a number of benefits. That 10-20% speed increase with each PostgreSQL release compounded into something interesting -- for OLTP it is getting very close to Oracle. I think most of MySQL's popularity is legacy, and it is not very portable as an environment. Migrations between Oracle and PostgreSQL are easier than, say, PostgreSQL and MySQL.

My original comment was more that Google using MySQL -- even when an inappropriate choice -- was not particularly based on merit as best as I've ever been able to figure. Not my problem for sure, but it is interesting to observe because some technologies they seem to change on a whim. The PostgreSQL engine, to use it as the obvious counter- example, has been hacked many times to support robust distributed systems that are much larger than anything you see people doing with MySQL, being a much more hackable system generally.

Given no legacy to support, I think Google would still choose MySQL. The "why" is an interesting question of culture, and undoubtedly has ramifications with respect to the success and failure of companies over the long-term.


- Cringely pretty conclusively demonstrates in the article that he has no idea what "cloud computing" actually is, what you can and cannot do with it, or why it is important. Messy transaction theoretic and latency issues do not magically disappear when Google implements yet another compute cloud.

Well yes, I do cringe, quite a lot, when I read quite a lot of his work. But distributed systems work rather faster when most of them are on the
same switch, in the same datacenter, I dare say?


Yes, definitely. Even between geographically separated data centers there is likely to be more effective bandwidth than between any one data center and an individual user. The interesting thing is that most of these services currently are not distributed systems in the classic sense, but merely high availability conventional services. Even if you built a data center infrastructure that allows seamless data/service integration across the data center, that only solves part of the problem.

A bigger problem is that in many cases it is not possible, politically or technically, to backhaul data to a single data center. How do you optimize data and service integration in this case while maintaining the illusion of the "cloud"? Literature contains most (but not all) of the answers to this question, but no one seems to be thinking about it much and it is an early architecture decision. Hell, most of these cloud computing services are barely thinking about simple data integration between unrelated applications at this point.


Cheers,

J. Andrew Rogers






Reply via email to