Hipsters hacking on PostgreSQL
Relational cred from SoMa to Shoreditch
Open ... and Shut With the rise of NoSQL, it's easy to assume that old-school relational databases are simply living out their dinosaur dreams for legacy applications. But a funny thing happened on the way to the SQL cemetery: PostgreSQL became cool again. Yes, PostegreSQL.
PostgreSQL was developed in 1986 by Michael Stonebraker. It was meant to be a peer to relational database heavyweights like Oracle and IBM, but never really took off. Ironically, it seems to be doing so now, and increasingly with developers who may not have been alive when Stonebraker first developed the database.
I've been seeing it pop up in conversations on HackerNews and other online forums (Disclosure: Some of those advocating PostgreSQL adoption use the word "rad" which hasn't been used since the 1980s), but the real proof that there's something to this increased interest comes from personal interactions with developer friends. Yes, such data are anecdotal, but they're happening so often now that I can't discount them as isolated biases.
One such developer is Carl Lerche, a friend and former colleague who works at Tilde and is a member of the Ruby on Rails core team. When Carl and I were at Strobe together, he and the team were heavily biased toward Riak, so it was surprising to me when he started extolling the benefits of PostgreSQL. Among them, as he told me:
Postgres is solid. It has many well thought-out features, and it's fast. It's understood: people know what it can and can't do.
There is, of course, no silver bullet solution, but Postgres is as close as it gets. It covers the greatest breadth of cases you need. The only reason i would not use Postgres is if i had other requirements besides modeling data like, for example, uptime requirements where having a single point of failure is not acceptable.
If I'm going to give up relational, i have to gain something in exchange, and 99 per cent of the time you don't need anything fancy.
When I pressed Lerche on this and asked why he doesn't use the more popular MySQL, since a relational database seems to work fine for his needs, he indicated a distrust of Oracle's stewardship of MySQL, but went on to say it has "a lot of problems... [and] a lot fewer features. And Postgres has much better licensing terms."
Lerche's perspective is mirrored by others I've talked to, or whose arguments I've read. As one online commentator says: "It's not hip and takes a bit to set up, but after you are done, you have [a] reliable workhorse with all the stuff you need."
They're not using PostgreSQL because it's the easiest database to learn and use. It's not. They're not using it because it's cool. It's not. They're using it because it gets stuff done. This doesn't distinguish it as much one might think in the enterprise, where PostgreSQL's free price tag and laid-back licensing isn't an overwhelming draw over Oracle and IBM. Risk-adverse CIOs will still pony up big checks to traditional vendors simply to cover their backsides.
But where PostgreSQL seems to be making headway is new-school developers, which I find fascinating, given the wealth of options they have in new breed databases like MongoDB, Cassandra, Riak and Couchbase not to mention the still-reliable MySQL. It's not that these NoSQL approaches or MySQL are fading in importance. Quite the opposite, as I've written.
But amid the hoopla PostgreSQL seems to finally be getting the attention its adherents have long claimed it deserved, and it's not the grey-beards who are arguing its merits. Not alone, anyway. They're joined by the SoMa and Shoreditch crowds who want to build cool apps that "work beautifully," even if they happen to be founded upon an old-school database like PostgreSQL.
This hasn't yet translated into job inquiries for PostgreSQL experience – which has been growing steadily according to Indeed.com data but still is dwarfed by MySQL job postings in absolute terms – and by MongoDB and other NoSQL offerings in relative terms. I'm not calling a trend here. I'm just seeing serious interest in and adoption of PostgreSQL by a young start-up developers.
Maybe PostgreSQL will finally be cool? ®
Matt Asay is senior vice president of business development at Nodeable, offering systems management for managing and analysing cloud-based data. He was formerly SVP of biz dev at HTML5 start-up Strobe and chief operating officer of Ubuntu commercial operation Canonical. With more than a decade spent in open source, Asay served as Alfresco's general manager for the Americas and vice president of business development, and he helped put Novell on its open source track. Asay is an emeritus board member of the Open Source Initiative (OSI). His column, Open...and Shut, appears three times a week on The Register.
Matt Assay knows nothing
I think this article clearly illustrates that Matt Assay actually knows nothing about software development, databases and actual usages. In the real world, relational databases are still the norm and NoSQL solutions are virtually non-existent.
People running around in the VC world or hipster communities may think otherwise (as indicated by this article), but those are the facts. For most data storage problems in software development relational databases are just fine and usually a hell of a lot more trustworthy and future-proof than NoSQL solutions.
Hipsters are not hacking. Hipsters are gayly checking their iPhone and don't care about mundanities like databases, transactions, resilience or stuff involving work taking longer than 10 minutes.
Postgresql has always been better than MySQL
Unfortunately, MySQL gained the early momentum - possibly because it may have been faster at reading large datasets in the early days. - but for my money Postgresql has always been a solid database.
A key part for me is that the documentation for PG is elegant and well written - MySQL's is pretty bloated.