Friday, November 20, 2009

PostgreSQL – Rock Solid in the face of forking

PostgreSQL – Rock Solid in the face of forking

June 03, 2009

Ever since Sun Microsystems agreed to acquire MySQL back in 2008, there has been a fair bit of uncertainty and chaos surrounding the world’s most popular Open Source database. With many big names in the MySQL community pulling in different directions and the recent Oracle / Sun acquisition, the choice of which Open Source database to use is now easier than ever – PostgreSQL.

One of MySQL’s key strengths has always been its simplicity to both install, manage and code against, resulting in mass adoption over time, which in turn forced the once web bound database to evolve into a near fully fledged enterprise RDBMS.

PostgreSQL on the other hand was born an RDBMS and instead worked silently in the background improving the performance, reliability and feature list of the world’s most advanced Open Source database, and all under the lesser restrictive BSD license – nice work!.

Getting up to speed with PostgreSQL can take a little longer for MySQL veterans, mostly due to the many subtle differences, but more importantly the extensive feature set (one of the reasons it is taking longer to add PostgreSQL support to dbRecorder

) but the rewards are worth it, as companies such as Skype can attest to.

It was installing OpenNMS several years ago that convinced me to get to grips with PostgreSQL, and although there is a distinct lack of new reading material out there the manual covers everything you need to start building your next web app.

The GUI tool pgAdmin has also come a long way and provides a great interface to PostgreSQL, with excellent instructional prompts and support for all major platforms, there really is no better tool to help you work with PostgreSQL while getting to grips with the vast feature set. Check out the latest beta over at the pgAdmin site.

If you’re not yet excited about PostgreSQL, maybe you should check out the feature list planned for release 8.4 (currently at beta2), with cool features such as Column Level Permissions and SSL Connections you can feel less stressed about the security of your data, oh and the performance improvements won’t hurt either!.

While keeping with the BSD license, another notable release last month was FreeBSD 7.2, a great platform to complement the reliability of PostgreSQL and another way to gain some performance improvements.

Speaking of performance I was pleased to read that Jails are much improved in the latest release, and that it seems I am not the only one that prefers Jails / Zones over VM solutions!.

I’m off to make some progress with, the worker class that will allow me to add PostgreSQL support to dbRecorder.

Watch this space…..

Nils - June 4th, 2009 at 1:34 am

I wonder how this made it to ;) I don’t get your point.
Danny - June 4th, 2009 at 6:13 am

Nils: He’s just trolling.

Anyway, since I’m already here, the design of this web site is horrible.
Alan Snelson - June 4th, 2009 at 7:16 am

My point was in the subject – PostgreSQL is out there and less volatile than MySQL. I’m a big fan of MySQL (as well as many other RDBMS) but I also believe you should never keep all your eggs in one basket!. There are always alternatives in the world of Open Source.
Jim Rippon - June 4th, 2009 at 7:23 am

I have to agree – for some applications, PostgreSQL has pipped MySQL on features for some time. I first experienced it when configuring a GIS system a couple of years ago, and was pleasantly surprised.

That said, I still tend to go with MySQL 90% of the time, primarily because like most people its more familiar, and its already there whenever I need a DB engine.
Alan Snelson - June 4th, 2009 at 8:16 am

For those of you reading this that want to find out more about the differences between MySQL and PostgreSQL, the following link may help towards making an informed decision:
Nils - June 4th, 2009 at 3:38 pm

Well I can’t switch my RDBMS that simple, so there really is no point in looking at PostgreSQL. For new projects it’s always worth considerdation, but most people don’t have that luxury.

PostgreSQL vs. MySQL is a non-issue for most people because the decision is already made. I don’t know what’s the point in bringing that up everytime, it shines a bad light on the postgres community.
Alan Snelson - June 4th, 2009 at 5:02 pm

Nils: I can understand that you may not be in a position to switch RDBMS and I am not advising that everyone just drop their MySQL installs for PostgreSQL – I certainly won’t be, not without good reason anyway.

There are however many people starting new projects or looking to reduce licensing costs by replacing their proprietary RDBMS and PostgreSQL is an excellent (Open Source) option to have available.

As for shining a bad light on the PostgreSQL community, you are reading the blog post of an Open Source advocate who is not an active member of the PostgreSQL community. That in itself should shine a good light on the PostgreSQL team as I am clearly not influenced by a third party and fully appreciate the work they have undertaken.

I am however working toward adding PostgreSQL support to a database change control tool I wrote originally for MySQL – dbRecorder. Once that is complete I will no doubt start adding support for other RDBMS.

Thanks for taking the time to read the post and you never know one day you might have the luxury of evaluating PostgreSQL for yourself…
eggyknap - June 4th, 2009 at 10:07 pm

PostgreSQL has had SSL connections for quite a while now. SSL support (specifically, certificate-based authentication) has improved in 8.4, but this is certainly not the first version that has supported SSL connections.
Nils - June 5th, 2009 at 6:59 pm


Well I might have exaggerated a bit. The problem is that many postgres users seem to have the urge to convert MySQL users under the plain assumptions that Postgres is better(tm) and MySQLers are just unaware of that. Everytime I read about MySQL and PostgreSQL somewhere it’s just the same old… Going negative is not a good way to convince or inform people.

I think we agree that it’s important to make an informed choice and not just pick the “most popular” database. I also think that postgres could use some more publicity, but in a more positive way. I and many others have real reasons for using MySQL, and as professionals we should have. It’s hard to miss postgres if you really are involved in the open source database world (read: planetmysql readers/blogs). So it’s not like we don’t know better.

If there was real news about postgres which might be relevant for MySQL users I’d love to read about it. But usually I only get the old FUD so I kind of get an automatic reaction to MySQL related postgres headlines ;)

My point being: It’s a pointless discussion.

As for the MySQL forks, I see them as a chance for MySQL to get better. PostgreSQL has been on pace for a long time now, whereas MySQL seemed stalled for long periods of time. Drizzle, MariaDB, Perconas patches, ourdelta and thinks like that will only increase the amount of people working on MySQL related things so it’s mainly good news because it gives real usable alternatives to those who are stuck with a MySQL problem that Sun is unwilling or unable to fix in a timely fashion. It’s diversity. It will strengthen MySQL for the community and it’s also good for corporate users. Maybe it will even push Sun/Oracle to a more open development approach, they are already changing things.

No comments: