Neon Enterprise Software Blog

Welcome to Neon Enterprise Software Blog Sign in | Join | Help
in Search

Data Management Today by Craig Mullins

News, views, and issues involved in managing data as a valuable corporate asset.

Choosing the Best DBMS?

One of the questions I get on a regular basis is some variation of "how can I choose what DBMS is the best"... so I'll try to offer some high-level guidance for posterity here in my blog.

This is actually a very interesting question, but the problem and the answers to it take on many different forms. For example, should I answer it based on you having no existing DBMS and you're just looking to buy one for the first time? That is a valid, though not too common, situation. On the other hand, you are more likely asking something like "Which of the several different DBMS platforms that we already have should we use for Project X?" This is also a valid question. So, let me try to answer both -- at least in some fashion.

First of all, if you are brand new to DBMS it would be a very wise course of action to hire a database consultant (or two) to help you with your selection process.Yes, consultants with specialized DBMS knowledge can be expensive, but not as expensive as purchasing or selecting an inappropriate DBMS for your project. A couple of days to a week of a consultant's time will be money well-spent if you do not have the internal expertise to make an informed decision on a DBMS platform.

But you came here to read my thoughts on this topic, so I will not just tell you to hire a consultant and not give my opinions! So what do I think about this topic?

Well, there are several very good choices out there. My preference is that new users should generally choose from the market leaders, and that means one of the big three: IBM DB2, Oracle, or Microsoft SQL Server. Of course, you also have other options such as an open source DBMS like MySQL or PostgreSQL. These are up-and-coming platforms and they can be used for some types of production work (mostly lower-end or simpler web-based development projects). For high-end mission-critical applications, stick with the Big Three.

OK, which of the big three? Well, if you work for a large organization with a mainframe and want to run your DBMS on that mainframe, you really should go with IBM DB2. Oracle has a mainframe version of their database server, but IBM is far and away the market leader here. Other mainframe DBMS choices are legacy hierarchical (IMS) or CODASYL (IDMS) system. For Unix and Linux installations, your choices are Oracle and DB2. Oracle is the market leader on those platforms, though IBM has a nice presence there, too. For Windows development, all three are viable options, but Microsoft (as might be expected) is the leader on Microsoft's OS.

What about other options? Well, Sybase, Informix, and Teradata are the next biggest players in the market. Sybase has lost ground in the market, but their DBMS is still solid and they are firmly entrenched in many financial institutions. Informix, which was purchased by IBM, is still being maintained and marketed, but DB2 is obviously IBM's primary DBMS – so I personally would not choose it for new work. Teradata is a high-speed DBMS that is geared for data warehousing and OLAP work -- and you might want to choose it for those types of projects. Still, though, my primary advice holds: stick with one of the Big Three as much as possible.

OK, so what if you have several DBMSs installed and need to choose between them for a new project? In that case, it is best to base your decision on internal company issues. Consider the existing support and expertise that you have in-house for each DBMS. If the project is highly visible it makes sense to go with the DBMS that is best supported by your in-house experts because they can give it the care and feeding it needs to perform optimally. Also, think about the hardware platform. For your very high availability needs go with the mainframe if you have one. After that, it is Linux and Unix... then Windows.

I haven't talked about cost yet, but it would be an incomplete answer without at least touching on that subject. When you are examining the cost of the DBMS software do not limit the analysis to just the initial cost and on-going maintenance cost that must be paid to the DBMS vendor. Look at the total cost of ownership of the DBMS. TCO should be calculated as a combination of the license cost of the DBMS, the license cost of any required supporting software (and hardware), the cost of database professionals to program, support and administer the DBMS, and the cost of the computing resources required to operate the DBMS. Also, try to factor in the reliability of the total package in terms of downtime - and factor in expected losses due to downtime if at all possible.

Determining the TCO for a DBMS can be difficult, and in many cases these type of decisions boil down to subjective opinions. Which DBMS is the favorite of the manager in charge? Or which one has s/he had experience with in the past? Whenever possible try to remove the emotional portion of the decision from the process. Reason, research, and analysis trump emotion every time...

Published Thursday, November 13, 2008 11:28 AM by cmullins
Filed under: , , ,

Comments

 

insurancesitesfind » Blog Archive » Data Management Today by Craig Mullins : Choosing the Best DBMS? said:

November 13, 2008 1:31 PM
 

Eric Herber said:

Craig,

please bring yourself up to date regarding IBM's database strategy. There is no primary or flagship DBMS anymore. DB2 and IDS (Informix Dynamic Server) are ranked equally and IBM recommends the one or the other depending on the customer needs.

Please read the open letter to you which has been published on The Informix Zone:

http://www.informix-zone.com/node/630

I won't repeat everything here what is already said there. Just a few notes on your statements:

"For Unix and Linux installations, your choices are Oracle and DB2. Oracle is the market leader on those platforms, though IBM has a nice presence there, too."

Yes, IBM has a nice presence in the Unix/Linux market. But guess why IBM has this presence ? IDS is the engine of growth in IBM's distributed database business and consecutively achieved very high growth rates during the last three years. If IBM would publish separate numbers for DB2 LUW and IDS, you would probably be surprised. But they don't publish separate numbers. Probably not without reason :-)

"For your very high availability needs go with the mainframe if you have one. After that, it is Linux and Unix... then Windows."

I agree with you regarding the mainfraime. But you (should) know that DB2 (z/OS) isn't DB2 (LUW). If high availability is a requirement, IDS and the MACH11 technology is far ahead of what DB2 LUW offers. The DB2 LUW HADR concept has been taken over from Informix which has has this technology (Informix HDR) build into the engine since 1994 (IDS 6.0). And with IDS you can even use your secondary to offload complex SQL queries and reports from your primary instance. But IDS MACH11 goes far beyond this with multiple cluster nodes that could maintain their own synchronized copy or share the data with the primary thru a shared disk environment. All nodes could be used for read and write access and a connection manager performs load balancing and automatic failover.

So if you have very high availability needs, IDS is IBM's database of choice.

You can read more about the MACH11 technology here:

- http://www.youtube.com/watch?v=friHkV_WZx4

- http://www.ibmdatabasemag.com/informixdbadmin/showArticle.jhtml?articleID=207801102

- http://www.dbta.com/e-edition/June08/5-contributed_article_45.html

"Look at the total cost of ownership of the DBMS. TCO should be calculated as a combination of the license cost of the DBMS, the license cost of any required supporting software (and hardware), the cost of database professionals to program, support and administer the DBMS, and the cost of the computing resources required to operate the DBMS."

IDS is well known for it's exceptional low TCO. You might have already heard of this very very large retailer that run's about 12.000 distributed IDS instances with only 6 DBA's. There are many more examples where IDS has proved it's very low TCO as well as it's extremely efficient use of computing resources due to it's  superior multithreading technology.

"Also, try to factor in the reliability of the total package in terms of downtime - and factor in expected losses due to downtime if at all possible."

Please read what real DBA's - not any sponsored analysts - have to say about the reliability of IDS:

http://www.informix-zone.com/oninit-openpsl-survey

And last not least IDS has achieved the highest customer satisfaction in a recent survey:

- http://www.businesswire.com/portal/site/google/?ndmViewId=news_view&newsId=20081016005336&newsLang=en

I don't know what others think, but I would strongly consider IBM Informix Dynamic Server for new work.

November 15, 2008 7:19 AM
 

cmullins said:

Well, Eric, you are entitled to your opinion... as am I. And DB2 is most certainly IBM's flagship DBMS. Yes, IBM own and markets Informix and will continue to improve its capabilities over time. But don't fool yourself. Given the opportunity to sell a customer DB2 or IDS, we all know which one IBM will prefer, don't we?

There are all sorts of other DBMSs lingering below the DB2, Oracle, and SQL Server, and Informix is one of them. It has its pros and cons, as do Sybase Adaptive Server, Teradata, and so on.

There is more to choosing a DBMS than just how it performs. The blog posting discusses some of those issues and I stick with my initial analysis: I would not recommend Informix for new work.

November 18, 2008 11:21 PM
 

Eric Herber said:

Craig,

as I said before: There is NO flagship IBM DBMS anymore !

Your statement is simply not true.

IBM sells the DBMS that fits the customer needs. As Spokey already pointed out in the open letter (http://informix-zone.com/node/630) to you: IBM acquired more than more than 200 new ISV's as well as hundred's of significant new customers this year for IDS. And again IDS has the highest growth rate, much higher than the average DBMS market growth rate.

I'm wondering how IBM achieved this impressive results when DB2 is their flagship DBMS and IDS is the stepchild ?

Your recommendation is weak as you recommend to stick with the market leaders:

"For Unix and Linux installations, your choices are Oracle and DB2. Oracle is the market leader on those platforms, though IBM has a nice presence there, too."

A great part of IBM's presence on the Linux/Unix platform is based on IDS not DB2 LUW. The IDS part had an impressive growth rate during the last 3 years. So if you're recommendation is to stick with the "market leaders", IDS would be probably the right choice on this platform(s).

But again this would also be a weak recommendation. Sticking with the market leaders might not give you any competitive advantage. Defining the requirements and primary use and then choosing the DBMS that fulfills those best is probably the right way to go.

And this is exactly what IBM is doing with their dual database strategy:

Recommend the DBMS  that fits the customer needs best !

Times have changed since the layoff of Janet P. - Accept it or continue to live in the past.

November 19, 2008 3:43 AM
 

cmullins said:

There is nothing wrong with people sticking up for technology they believe in. Good on you, Eric (and Spokey). And I understand that there are a lot of Informix fan boys out there. That said, my opinion does not change. And my recommendation, however "weak" you may believe it to be, does not change.

I welcome (and continue to welcome) dissenting views here on my blog. Please, continue to disagree and present your points of view here. And, indeed, Informix has some good technology behind it and it is a fine DBMS. It is not, and in my opinion will not be, in the same league as the Big Three any time soon (if ever).

There is much more to choosing a DBMS platform than just technology. If the best technology always won in the market place, we'd have all been using Betamax instead of VHS all those years before switching to DVDs. And would anyone really be using Windows instead of the Mac OS?

Applications and databases need to be supported. It is easier to find SQL Server, Oracle, and DB2 support (DBAs, programmers, SYSADMs, etc.) than it is to find Informix (or Sybase or...) support. This is one of the significant factors in choosing a DBMS.

Anyway, I do not expect to convert you, Eric. I'm sure you are earning a fine living supporting Informix installations and can continue to do that indefinitely. All the best to you...

November 19, 2008 11:47 PM
Anonymous comments are disabled

About cmullins

Craig S. Mullins is a data management strategist for NEON Enterprise Software. Craig has extensive experience in the field of database management having worked as an application developer, a DBA, and an instructor with multiple database management systems, including working with with DB2 for z/OS since Version 1. Craig is also an IBM Information Champion and is the author of two books: "DB2 Developer’s Guide" and "Database Administration: Practices and Procedures."

This Blog

Syndication

News

Be sure to visit my web site at http://www.craigsmullins.com
Powered by Community Server, by Telligent Systems