Postgres pushes past MySQL in developer hearts

This article, Postgres pushes past MySQL in developer hearts, originally appeared on TechRepublic.com.

Developers
Developers

Postgres has never been considered cool. Ever the ugly stepchild to MySQL, Postgres disciples were forced to watch MySQL trounce their beloved database in terms of popularity. Even though MySQL offered fewer features, Postgres was forced to play the uncool uncle while MySQL dominated adoption.

Until now.

As seen in recent startup hiring data, Postgres is now the de facto choice for early-stage startup developers looking for a strong relational database management system (RDBMS). The question is why?

All the other kids use Postgres

Nowhere is Postgres' newfound popularity more evident than in early-stage startup land, which eschews MySQL for Postgres at an ever-increasing clip. Ryan Williams compiles data from HackerNews hiring threads, which data clearly shows Postgres as the hipster hackers' new darling:

Figure A
Figure A

No, this data is not representative of the wider software market. In the broader database market, MySQL still has a major lead over Postgres.

DB-Engines, which measures popularity across a number of data points (jobs, LinkedIn mentions, Google searches, etc.), shows a significant delta between the two open-source RDBMS:

Figure B
Figure B

Even so, the trends favor Postgres:

Figure C
Figure C

This is perhaps particularly true in the area that matters most: jobs. In terms of relative interest in database skills, Postgres now matches MySQL's growth.

But with the early-stage startup developers, Postgres rules.

Why Postgres is cool

If you had to choose to be cool with a particular crowd, you could do worse than choose the startup crowd. Linux, AWS, and a number of other products or technologies all got their start with developers working for early-stage startups.

Such developers don't have large budgets, and they don't want to wait on Procurement or Legal to get stuff done. Hence, they tend to turn to open source and/or the cloud to build apps fast and iterate even faster. Postgres ticks the open-source box and also ticks the cloud box with Amazon's RDS for Postgres service.

But convenience is only part of the Postgres story. While its devotees have sung its praises for years due to its rich functionality, Postgres has really come into its own, innovation-wise, in the last few years. As Svenne Krap told me at the Postgres.eu conference last year:

"Postgres has tremendous forward movement in technology. While it has had a rise in mindshare, it has been even more impressive in terms of technology innovation. Most databases are standing still in the 1980s. Postgres keeps coming up with new things, like window functions. A lot of other databases are slower in their forward movement."

One other area that Postgres has improved is by offering JSON support, thereby eliminating (for some workloads) the need to leave Postgres or another RDBMS for a NoSQL database. Talking with a developer friend the other day, he told me that Postgres' JSON support "works as advertised," and that means he can use Postgres for an even wider array of applications than before.

Also, it hasn't hurt that Oracle buying Sun/MySQL has sent developers fleeing to freer fields. While Oracle has done a good job of improving MySQL's technology, it hasn't done as well at keeping developers in the family.

Postgres, by contrast, has no dominant vendor behind it. Instead, as developer Laurenz Albe told me, "Postgres is not owned by a single company. It's as close to a free and open-source project as you can get."

Postgres' future is bright

So, should your enterprise turn to Postgres? That's hard to answer, since the odds are pretty good that you already are.

But, if not, Postgres is a great alternative to expensive Oracle and IBM DB2 overkill, offering much of the same functionality and scalability at a 100% discount. No, it's unlikely to be free in practice, as you'll likely want support from a company like EnterpriseDB, and there are costs associated with training developers and operations personnel to manage it.

But if you want to operate a bit more like a startup and find the flexibility and innovation that they have, Postgres is well worth a look.

Also see