SQLServerCentral Editorial

SQL, and Ye Shall Find

,

Why do we, in the industry, keep on using MySQL? OK, it runs on almost anything, it's cheap, scales well, and is rock solid, but then so is MariaDB, which is more actively maintained. The same applies to PostgreSQL. We have plenty of choice.

I don't dislike MySQL. My chief irritation, though, is that the experience of many developers is entirely with MySQL and it gives them a rather bleak idea of the capabilities of a modern relational database. It even drives them needlessly to NoSQL. I quite often read the rants against RDBMSs from NoSQL 'fanbois', and they make little sense until you substitute the word 'MySQL' for 'RDBMS'. MySQL is an oddity amongst relational databases in that it hasn't really worried overmuch about standards in the past. It consists of an upper SQL layer that supports one of nine different storage engines (including InnoDB, MyISAM and NDB Cluster). These differ wildly in their support for relational features such as joins, constraints and transactions. It's a mess.

I, like many other grey-muzzled database people, remember the old days when PostgreSQL was slow. I once grew to loathe it because so many developers cut their teeth on it, and concluded unfairly that all relational databases were slow. PostgreSQL has now grown up to the point where I prefer working with PostgreSQL to Oracle. It has a lot going for it, with a good optimizer, data compression, and built-in replication. It has handy extensions for arrays and JSON.

Of course, I still prefer to use SQL Server, but I can now see the economic sense of one of my customers running PostgreSQL on Linux and commodity hardware. In fact, when poking about inside various network devices such as NAS boxes, it is surprisingly common to see PostgreSQL being used to support processes and networks, almost as if it were an extension to the operating system.

What impresses me, in looking back at the struggles that PostgreSQL, MySQL and SQLite have all had, is how hard it really is to develop a really effective database that meets the SQL Standards, even the full SQL92. To talk of SQL, and other relational systems as though they were mahogany antiques is ridiculous. We are only now entering the era where we have caught up with the vision of relational orthogonality in databases, by actually implementing it all in hardware and software. To me, that's exciting.

Phil Factor.

Rate

5 (1)

You rated this post out of 5. Change rating

Share

Share

Rate

5 (1)

You rated this post out of 5. Change rating