Incendiary article by Jeff Dickey on why MySQL is done, NoSQL has failed, and we're now living in the Postgres Era.
Adam Rifkin stashed this in DevOps
Stashed in: mysql
Jeff Dickey writes about MySQL:
I seriously want someone to tell me just ONE feature that MySQL has over Postgres. I ask everybody this question, and I haven't heard a single thing. Yes, Google and Facebook use it, but I don't really care.
The one thing that MySQL has that everybody understands MySQL.
That's important because REALLY GOOD DBAs ARE VERY HARD TO HIRE.
So yes, the feature MySQL has is HIRE-ABILITY.
I've actually talked about this same problem as a reason why I don't think Ruby is a good choice for a project. Nothing to do with the technology, just that hiring could be really difficult.
It's unfortunate, but true, that realities of the real world can change our stacks.
We should encourage people who want to be VERY employable to learn Ruby and Postgres because there's such a shortage of them that they can command higher salaries.
I've heard that argument be used in the jQuery vs. Dojo debate, too :)
The process by which teams pick tools is an interesting one. I think it's rarely a scientific process based on real-world performance testing and feature set analysis.
I think younger teams (especially those started by young males) want to use the hotter/sexier new tools which are lightning fast in laboratory environments, and are willing to risk having some extra reliability/scaling difficulties in order to use the latest tools. These teams will often use a newer tool simply because it's newer, or, at least, all other things being equal will give preference to a younger tool. I think they also believe they're making a good decision in terms of hireability, because saying that you use nginx+node.js on top of redis will attract more interest on HN than saying you use php+apache on top of mysql.
More experienced teams (and also less experienced ones who value practicality over sexiness) often choose more mature tools with a larger community. These teams aren't necessarily trying to recruit based on the hotness of their technology stack -- they're relying more on the size of the talent pool they can draw from -- and will often pick an older tool simply because it has more of a track record and has well-understood strengths and weaknesses, as well as a larger (though perhaps not a growing) community. I think they also value the skills they already have, and are more focused on efficiently building a business than on trailblazing / learning new tools just to learn new tools.
I'm not sure that either category is going to migrate to PostgreSQL in any great numbers. The vanilla LAMP people already know mysql, and the younger people wouldn't see PostgresSQL as being sexy.