IIUG Conference 2017


Tuesday, August 9, 2011

The best database for every purpose!

As a consultant I often am asked "What is the best database for everything we do?" Unfortunately, there is no easy answer for that, and I know this is not the response you all expect from me. Bear with me on this and I will explain.

The best database, and to be clear by 'database' I mean Database Management System, is not MySQL, PostGreSQL, Ingres, Oracle, Sybase, IBM DB2 branded products, IBM's Informix branded products, Voltdb, OpenSQL, Berkeley DB, Progress, Unify, MS SQL Server, or any of the literally hundreds of other RDBMS products on the market whether they are free or for-cost. No single database product can serve all of the needs of any large organization nor for most smaller organizations. That's a fact! While I think that IBM Informix Dynamic Server Ultimate Edition is the cats meow of RDBMS products, the performance, feature, and innovation leader in my book, it is not best for every purpose in every organization.

So, the question remains out there: "What is the best database for ...", what do I recommend? Because if my clients have to use a different database server product for each group of applications that fit best, or even groupings that are sometimes second best, they are still going to have to maintain and be able to manage and tune several products from several companies won't they? The list of skill sets that their DBAs will need will be very broad and I will have to hire more DBAs than I might need if I could just use one product.

I've been thinking about this for a while, and I keep coming back to the marketing presentation I made to IBM two years ago and to how appropriate that was to this question even more so than to the question of how IBM should market its database products. If my clients could get the "right" database, or close enough, for every situation from a single vendor, and if that vendor could make the skills needed to manage all of those database products they market sufficiently portable, that would reduce my clients' costs of ownership substantially making this single vendor solution even more attractive.

OK, so what product lines are out there? Oracle effectively has MySQL for very small projects and their Enterprise Class Oracle server in its various "editions". Sybase has an Enterprise class server and a mobile server. Ingres has only an Enterprise class server but not much third party software support left. Progress is a good SMB server only. Same with Unify. PostGreSQL has many nice enterprise class features but not all and many organizations won't bet the ranch on an open source product that doesn't have corporate support behind it.  Microsoft has only SQL Server in its two editions. That brings us to IBM which, as I pointed out two years ago, has a plethora or database management systems appropriate for any size organization and any task:
  • C-ISAM and IMS for application level databases.
  • IBM Informix Standard Edition for small business.  Clean simple OLTP performance for simple schema databases serving up to several hundred users with zero maintenance.  This is the original Informix database server and it is still a viable product for the right organization and project.
  • IBM Informix OnLine for small to medium business.  Clean simple OLTP performance for simple schema databases up to several TB in size serving up to several thousand users with extremely low maintenance and outstanding reliability and uptime.  This is the RDBMS that revolutionized the industry by finally allowing one to archive a database without having to take it offline or block transactions.
  • IBM Informix Dynamic Server (Innovator, Growth/Choice, and Ultimate Editions) for:
    • Medium to large business
    • OLTP performance and better than five-9s reliability
    • Medium to large Data Warehouse
    • Large Data Mart and DSS applications
    • Object Relational features
    • Industry leading expandability and extendability
    • Industry leading uptime and reliability with near zero unplanned outage and very low planned outage requirements
    • Industry leading TCO requiring 1/2 to 1/4 the DBA support of other RDBMS products
    • Databases up to 128PB serving many thousands of concurrent users
    • Industry leading replication and clustering technology that scales better than the competition
    • Unmatched embeddability with configurable footprint
    • Heterogeneous clusters of  hundreds of servers on different hardware and OS platforms without special backbones or infrastructure
  • IBM DB2 Mainframe for mainframe based applications
  • IBM DB2 LUW which fills most of the same niches as Informix Dynamic Server 
    • Strength in 3rd party application support
    • Very large data warehouses.
    • Distributed server
    • DB2 Pure Scale highly scalable homogeneous clustering
  • IBM Informix Ultimate Warehouse Edition with the Informix Warehouse Accelerator for accelerating complex data warehouse style queries by up to 300X without losing Informix's OLTP performance and features and without requiring expensive special purpose hardware.
  • Netezza provides performance even beyond Informix Ultimate Warehouse for dedicated DW applications that need ultimate speed.
So is IBM missing anything?  Yes!  It is missing a unified structure of management and maintenance tools that can cross and span the entire range of database products so that an organization's DBA skills can also span the product line.  Put that in place and two things happen:
  1. I have the answer to my clients' questions and
  2. IBM can approach the market with this now unified product line that no one can touch
 Instead of producing a white paper entitled "Six reasons to move from Oracle to IBM" which should really have been entitled "Six reasons to move from Oracle to IBM DB2" they can produce a white paper entitled "Sixty reasons to move from Oracle to IBM" that can highlight all of the benefits of using a unified database product line within your organization.  This makes IBM a one-stop-shop and makes my life as a consultant a whole lot easier.


  1. You list a big lists of RDBMS without Microsoft SQL Server? Wonder why? Never heard of it?

  2. Are you referring to the list of IBM RDBMS products that I have here? If so, then MS SQL Server is naturally not on that list. Neither are Oracle, Ingres, Sybase, PostGreSQL, etc. If you are referring to my dis-ing those and others as not having a product line, I suppose you are correct. I should not have ignored the fact that Microsoft has only a single true RDBMS product (can't really count Access) which is SQL Server and while it has a resource limited Edition and an Enterprise Edition, that does not either constitute a product line. In my defense, I tend to think only of RDBMS products running on real enterprise class operating systems like Solaris, HPUX, AIX, Linux, etc. a class in which I do not place MS Windows. The fact that many misguided organizations run their systems on Windows doesn't change things. The fact the Pizza Hut delivers pizzas in Ford Focuses doesn't make the Ford Focus a "delivery truck"!

    In my experience Informix running under Windows will outperform MS SQL Server on the same hardware, but Informix running under Linux or Solaris-X86 on the exact same hardware will further outperform Informix under Windows and with far greater reliability.

    I will however add SQL Server to the list of keywords referenced. Thanks for pointing up the oversight.

  3. To Pelsql: OK, I've updated the BLOG post and the keyword labels to include MS SQL Server. Enjoy.