The relational database system has become so popular and ingrained into the modern day organization that many people have started to take them for granted. Instead of appreciating them for the intricate, multi-faceted and useful tool that they are, a lot of folks view the DBMS as a commodity. You know what I mean… “Oh, the database, well, just put my data up in there and let me at it.”
But a DBMS (not a database, see Database Fundamentals) is not a commodity. The term commodity comes from the world of finance where a commodity is a product, which is of uniform quality and traded across various markets. Examples include minerals like crude oil, iron ore, gold, and silver and agricultural products like soybean, rice and wheat. By their very nature, commodities are interchangeable, that is rice from Southeast Asia should be the same as rice grown in the United States.
So are database systems commodities?
No, they are not! Let me tell you why.
First of all, the realm of commercial database systems is large and encompasses more than just relational and SQL DBMSs. In addition to relational databases, there are network/CODASYL, hierarchical, inverted list, and object-oriented implementations running in production systems today. And that does not even take into account the various types of NoSQL database systems designed to support Big Data, the most popular of which fall into four families: document stores, key-value, graph, and column stores. We’ll talk a bit more about Big Data in a moment.
Secondly, if we focus just on the relational database systems, even these do not constitute a commodity market. There are many reasons that this is true. There are variations in terms of the manner in which RDBMS products are built, supported, and sold. There is the traditional commercial software route (IBM DB2, Oracle, Microsoft SQL Server, Teradata, etc.) and there is the open source route (MySQL, PostgreSQL, Ingres, etc.).
You have to consider the usage model for the DBMS, as well because that dictates the edition of the DBMS that you will select. Most of the vendors offer different levels of functionality and support packaged into various editions. For example, an enterprise edition for high-end work, a server or workgroup edition below that, a developer edition for building applications, a personal edition for lightweight work, and so on. Each of these editions offers differing levels of functionality, features, and support – and each vendor provides different options.
Thirdly, you need to understand your need for parallel processing and how each RDBMS supports that. Sometimes a separate edition of the DBMS is required, sometimes a specific operating system.
Number four, the current trend seems to be offering database machines combining the hardware, software, and administration into a single, pre-packaged offering. If you are in the market for such an offering you will need to understand each of the offerings including pricing, what actually comes in the box, support, and so on.
And finally, at least for this blog entry, the platform on which the DBMS will run impacts the functionality and availability that can be offered. Based upon factors such as performance, availability, failover, and access, you will need to determine whether your RDBMS runs on a mainframe (z/OS), a distributed server (Linux, Unix, Windows), a midrange (VSE, VM, iSeries), or a PC.
Now let’s get back to NoSQL and Big Data for a moment, because I believe this to be a disruptive technology that will significantly impact the DBMS market. Well, in many ways, it already has. There are literally hundreds of NoSQL DBMS offerings (see http://nosql-database.org/) and it can be harrowing to wallow through the large number of contenders and pretenders in this space.
But the larger impact, in my opinion, will be felt as the major RDBMS vendors (IBM, Oracle, and Microsoft) continue to adapt and upgrade their offerings to add more Big Data analytical capabilities to their products. As this deluge of functionality begins to appear in the relational offerings we will all look back on this whole “commodity” discussion as somewhat absurd…
At least, that is what I think.
What do you think? Share your comments below…