There was an interesting post today on highscalability - http://highscalability.com/blog/2010/11/4/facebook-at-13-million-queries-per-second-recommends-minimiz.html
The discussion/comments touched upon why mysql is a better idea for Facebook than Postgres. Here's an interesting one > One is that PG doesn't scale that well on multiple cores as MySQL nowadays. Another is in fundamental differences of storage architecture - all > MySQL/InnoDB data is either a clustered primary key, or secondary key with > PK pointers - logical relationships between entries allow to have index-only > scans, which are a must for web-facing databases (good response times, no > variance). One more reason is that in heavily indexed databases vacuum will have to do > full index passes, rather than working with LRU. As for sharding, etc - there's no way to scale vertically infinitely - so > the "stupid people shard" point is very very moot. It is much cheaper to go the commodity hardware path. or In general Postgresql is faster at complex queries with a lot of joins and > such, while MySQL is faster at simple queries such as primary key look up. I wonder if anyone can comment on this - especially the part that PG doesnt scale as well as MySQL on multiple cores ? regards Sandeep