Hacker News new | past | comments | ask | show | jobs | submit login

It's interesting to see how PostgresSQL didn't get nowhere near the popularity of MySQL. I think a few major things contributed to this:

1) MySQL focused on performance first while PostgresSQL positioned themselves as "feature-complete."

Of course, that was years ago and in the meantime they became comparable in both aspects. MySQL+InnoDB is ACID compliant and Postgres matches the InnoDB performance.

Sure, Postgres might still have the upper hand in the variety of features but MySQL has MyISAM. If you don't need transactions you can get a significant performance boost over Postgres. Speed IS a feature and one could argue it's more important to many than all the nice extra things Postgres has.

2) MySQL was compatible with mSQL so they got a pretty good user base right from the start. mSQL later became obsolete.

3) Inertia. Even if Postgres would be net superior to MySQL (think feature complete but faster than MyISAM) it would still take a lot of time to catch up, if ever. There are tons of tools already developed for MySQL and a huge knowledge base around it. Just like C++, Windows, or any other big technology, there's a lot of inertia to it.




I think having a "launch" at the right time might have had some impact also. MySQL launched in 1995, right around the time that the idea of generating hypertext dynamically was taking off, so a bunch of web stuff was looking for a lightweight, fast DB without necessarily a lot of features. Postgres had been around since the 1980s as a research project, and in 1994 was publicly released as an open-source project and added SQL support (rather than its own query language), but it was sort of off the internet's radar as a research project mostly known in academia. The official launch of the rebranded PostgreSQL was in 1997, but that might've been a bit late already, since 1995-1997 were a fairly crucial two years for the LAMP stack's birth.


Most people don’t realize how bad postgress was at that time.

I tried postgress in 1995-96. I was tiered of mSQL [M-SQL not MySQL] and really wanted a free SQL server to work at backend of our web apps. Downloaded, compiled and installed what was then called postgress95 on our linux server. And then I could connect to it from localhost using the command prompt. But the instant I connected with it from a remote machine over TCP/IP the server crashed! I really wanted to make it work, couldn't. Note that Internet was still very new and support availability wasn't as wide as today.

Discovered and started using mySQL which was then way better than mSQL, And still using it after 15 years.


Postgres was also a bitch to install and work with in the early years, even on really supported platforms.

The usability push started with the performance one, from 7.x onwards (2000) and especially with 8.x (2005).


Most important of all: PHP.


I'd say most important is LAMP and that unfortunately Postgres starts with the letter P.


MySQL being easier to install on Windows from 1995 to 2005 might also have had something to do with it. PostreSQL had to be run in Cygwin until release 8.0 in 2005.


Most of MySQL's momentum I'd say would be because Slashdot used it. Because of course, a database that is (only) suitable for a scenario where reads outnumber writes a few thousand to one, and a comment getting lost is actually no big deal is obviously suitable for your OLTP app...




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: