Anyone paying attention to the database market knows the answer to Ovum analyst Tony Baer’s question: “Has the time finally come for PostgreSQL?” Check the leaderboards on the DB-Engines database popularity rankings and it’s clear that the “PostgreSQL moment” (or Postgres) has been happening for a decade now. For years Postgres had to sit in the shade cast by its more popular open source sibling, MySQL, but there are signs that MySQL is losing its luster even as Postgres gains in luminosity.
The question is “why?”
Getting its due
One obvious answer is “Postgres is a great, full-featured database,” but obvious answers will rarely do in the real world. Baer walks through a litany of reasons to love Postgres, including “PostgreSQL’s support for more complex SQL functions and data types encompassing arrays, joins, and windowing, among others.”
According to DB-Engines, which tracks database popularity, “The new release of PostgreSQL 10 certainly helped to further stimulate interest in that product. With the introduction of Declarative Partitioning, improved Query Parallelism, Logical Replication and Quorum Commit for Synchronous Replication, PostgreSQL 10 specifically focused on enhancements for effectively distribute data across many nodes.”
Postgres, in short, is an enterprise-class database that just happens to be free.
SEE: Big data policy (Tech Pro Research)
That “free” part shouldn’t be underestimated. Even if we add a fee for running Postgres at scale (which AWS is happy to do with RDS), or tweak it to be even richer in functionality (which AWS has done with Aurora), the cost of even a cloudified Postgres is dramatically less than Oracle. During the boom time of Oracle’s heyday, it was acceptable to grossly overpay for what was perceived to be highly differentiated technology. No more. Oracle has been on autopilot for some time, even as innovation in database technology has shifted to open source and/or cloud alternatives. There simply isn’t a good reason to pay the Oracle tax for most applications.
Inherent in any database decision are a few cost vectors: Hardware, software, and people. Even as developers moved en masse to the cloud, Oracle largely priced itself out of the public clouds that developers actually use (AWS, Microsoft Azure, Google Cloud) by redefining what a core is. It’s a crazy strategy designed to push developers to embrace the Oracle cloud. It hasn’t worked. At all. One reason is because running Postgres is roughly a tenth the cost of running Oracle in the same cloud.
The greater cost associated with any software decision is the people managing it or developing with it. Through automation it’s dramatically cheaper to manage Postgres at scale than Oracle. With Postgres, you can remove the bother of clearing a purchase through Legal/Purchasing, too: Postgres is always a simple download away.
Finally the cool kid
In short, Postgres is cool in part because of how great a database it is, and partly because it’s the clearest like-for-like alternative to Oracle, which no one seems to want to use if they have any choice in the matter. No wonder, then, that out of all databases in existence, Postgres outperformed them all in terms of rising popularity in 2017, according to DB-Engines. While Oracle, MySQL, and Microsoft SQL Server have a big lead, they’re trending in the wrong direction, while Postgres and MongoDB are trending up:
Ask developers which database technologies they most love, and Postgres comes in second only to Redis, according to a recent Stack Overflow survey. MySQL scrapes into 13th place while Oracle is only kept from last place by IBM’s DB2. Small comfort. Ask developers which database technologies they most dread and IBM, again, keeps Oracle from the headline but only just barely–Oracle is the second-most dreaded database technology available.
SEE: Has the time finally come for PostgreSQL? (ZDNet)
Again, Postgres’ popularity is driven in large part by how great a database it is. It is also helped, however, by looking like a credible relational database to run at the kind of scale that is simply financially impossible with Oracle. Developers may be hoping to refactor their applications to embrace something with the scale and flexibility of a MongoDB, but if they’re planning to stick with the comfortable routines of a relational database, odds are good they’ll be choosing Postgres for their next project, not Oracle.