So many databases…

In his ZD Net blog discussing systems management David Berlind raises a useful point: is it possible for a company to truly standardise on a DBMS?  While every CIO would like to be able to say “We only have xxxx” (substitute Oracle/DB2/SQL Server etc as desired) in reality it is virtually impossible to standardise on a single DBMS.  For a start, the sheer weight of existing systems mean that conversion of a system using one DBMS to another is a far from routine activity.  The DBMS systems might all support one of the SQL standard variants, but we all know that in reality much of the code to access a DBMS uses the various proprietary extensions of the database.  Even if you could somehow wave a magic wand and achieve a single DBMS nirvana for your in-house systems, many packages only support particular databases and so you may be forced into a seperate DBMS by a package vendor – few CIO departments have the clout to prevent the business choosing a package that is non-standard if the business wants it enough.  Moreover any attempt at standardisation will be overtaken by acquisitions made by the company, since you certainly can’t assume that every company that you acquire has a single DBMS or that, even if they did, their choice is the same as yours.

The difficulty in actually porting an application from one DBMS to another actually gives a powerful lock-in to DBMS vendors.  If you doubt this, check out the margins of Oracle, Microsoft and IBM’s software business (if you can find it) – net profit margins of 30% or more, which is what Oracle and Microsoft have, are achieved by very few companies in the world.  The trouble companies have is that, while they may be unhappy with a DBMS vendor, they can huff and they can puff at contract negotiation time, but in reality there is very little they can do: the DBMS vendor knows that the cost of migrating off of their platform would dwarf any savings in license costs that could be obtained.

In reality it is the same with applications and the data within them.  Migrating from a major application package is a massive task, so in reality you will have to live to learn with a hetereogeneous world of databases, applications and data, like it or not.  Yet companies spend huge amounts of money  trying to “standardise”, which is essentially only a little more attainable as a goal than the holy grail.  Better to try and manage within the reality and concentrate ion strategies that will allow you to make the most of that situation.  Certainly, you don’t want to allow unnecessary diversity, but you need to carefully look at the true cost/benefit case of trying to eliminate it.