How to select the best DBMS software: A buyer's guide
A collection of articles that takes you from defining technology needs to purchasing options
After reviewing the differences among the various types of DBMS available -- relational, NoSQL and NewSQL/in-memory -- the next step should be to investigate the specific DBMS products that are available. This article examines the market-leading relational DBMS (RDBMS) products. Separate articles will examine NoSQL and in-memory offerings.
The big three relational DBMS products
The relational landscape continues to be dominated by Oracle, IBM DB2 and Microsoft SQL Server. If you're looking to acquire a new RDBMS, it makes sense to begin by reviewing these three market-leading products because there's an abundance of experienced talent developing applications and administering databases using these RDBMSes. Furthermore, the technology is sound, each having been used for production systems for decades.
So which RDBMS makes the most sense for you? Well, that depends on a number of factors. If you're a large organization with a mainframe and want to run your DBMS on that mainframe, IBM DB2 is the logical choice. Although you can run other DBMSes in a Linux partition on the mainframe, IBM is the market leader here. For Unix and Linux installations, your primary choices are Oracle and DB2. Oracle is the market leader on those platforms, though IBM has a solid presence there, too. For Windows development, all three are viable options, but Microsoft is the clear leader on its own OS. Incidentally, Microsoft has announced plans to support SQL Server on Linux in the near future.
All three of the leading DBMS products rate highly in terms of performance, application development capabilities, support, ease of use and functionality. Nevertheless, there are things that differentiate these three DBMSes.
The overall market share leader is Oracle, with widespread adoption of its DBMS, the current version of which is Oracle Database 12c. Oracle supports a wide range of operating systems for its DBMS, including multiple versions of Windows and multiple Unix and Linux variations.
Given its installed base and wide platform support, the availability of skilled Oracle Database technicians and developers shouldn't be a concern. Likewise, there are an abundance of tools for Oracle database administration, application development and data movement/management. If you're looking for the market leader or want to ensure that skills and tooling won't be an issue, then Oracle is a solid choice for your RDBMS.
In general, customers give Oracle good marks for performance and availability. Additionally, the company publishes the results of its own performance benchmarks. Although real-world performance data can vary greatly from lab benchmarks, vendor-provided benchmarks can be useful when viewed in conjunction with your requirements and performance benchmarks.
Oracle heavily promotes its database appliance, Exadata, which combines software and hardware engineered together to provide a high-performance and high-availability platform for running Oracle Database. Its architecture features a scale-out design with industry-standard servers and intelligent storage, including flash technology and a high-speed InfiniBand internal fabric. Elastic configurations enable systems to be tailored to specific database workloads, including online transaction processing (OLTP), data warehousing, in-memory analytics and mixed workloads. The key selling point of a database appliance is that it's easy to deploy and includes all of the needed components to run the DBMS.
From a cost perspective, Oracle has a reputation as being expensive to license and support. Additionally, according to surveys conducted at Gartner's annual IT Financial Procurement & Asset Management summits in North America and Europe, Oracle ranked lowest in terms of ease of doing business.
DB2 is Oracle's biggest competitor on Unix and Linux operating systems. In addition to these two platforms, DB2 is available on Windows, z/OS mainframe and iSeries midrange servers. The latest versions of DB2 are DB2 Version 11 for Linux, Unix, Windows (LUW), DB2 11 for z/OS and DB2 for i v7.2.
Skilled DB2 developers and DBAs are likely to be more difficult to hire than for Oracle, but experienced DB2 professionals aren't scarce by any means. You will need to differentiate by platform, with mainframe DB2 for z/OS skills being different -- and somewhat more difficult to find -- than for DB2 for LUW. DB2 SQL is almost identical between the z/OS and LUW platforms, but administratively there are significant differences. Likewise, many development, data movement and DBA tools are available for DB2, both from IBM and other independent software vendors (ISVs).
In terms of functionality, DB2 is regularly revised and updated with market-leading features, including JSON support, temporal capabilities, shadow tables and advanced compression being among the recent advances. With the DB2 SQL compatibility feature, IBM delivers the ability to run Oracle applications in DB2 for LUW with no changes to business logic in the client code, triggers or stored procedures.
Feature-wise, it would be remiss not to mention IBM's next-generation database technology for DB2 called BLU Acceleration. It provides a combination of in-memory performance techniques, compression capabilities and column store capabilities.
As is the case with Oracle, IBM regularly publishes benchmark results for DB2. As with any benchmark, it's always advisable to perform your own performance benchmarks on your own systems and workload if possible.
IBM offers a database appliance called the PureData System, which provides single part procurement including pre-installed and configured DB2. The system is ready to load data in hours and provides open integration with third-party software. PureData comes with an integrated management console for the entire system, a single line of support, integrated system upgrades and maintenance. The PureData System is available in different models that have been designed, integrated and optimized for analytics, operational analytics and transaction processing.
Microsoft SQL Server
The last -- but certainly not least -- of the big three is Microsoft SQL Server, the current version of which is SQL Server 2016. Currently, Microsoft SQL Server runs on only Windows, but there are numerous Windows versions supported -- and Linux is on the horizon.
Skilled SQL Server developers and DBAs are plentiful. Likewise, there are many tools supporting development, data movement and database administration available for SQL Server, both from Microsoft and ISVs. SQL Server customers may be able to minimize their budget for tooling because SQL Server licenses come with Analysis Services, Integration Services and Reporting Services that provide functionality often requiring add-on tools for the other DBMSes covered here.
From a technology and functionality standpoint, Microsoft keeps abreast with the market. Features added to the latest version include stretch database capabilities for integrating on-premises with cloud, strong encryption capabilities, integration of Hadoop with relational data using the Polybase feature and improved in-database analytics capabilities. With Azure, Microsoft's cloud-integration vision for SQL Server is the strongest of the big three DBMS vendors, including simplified backup to Azure and the ability to set up an Azure virtual machine as an always-on secondary.
Microsoft boasts strong performance benchmark results for SQL Server 2016, including TPC-E, which measures modern OLTP workloads and TPC-H, which measures data warehousing workloads.
Microsoft lacks a database appliance like Oracle's Exadata and IBM's PureData System. As such, if you're looking for a pure plug-and-play database appliance, Microsoft isn't a realistic option. However, there are third-party appliances that embed SQL Server, and Microsoft also offers the Microsoft Analytics Platform System, an analytics appliance that integrates SQL Server with data from Hadoop.
Other commercial relational DBMSes
Of course, there are other enterprise-level DBMSes available besides the big three. Some of the more popular ones include Teradata, SAP Sybase and Informix. All three DBMSes offer full-function, enterprise-quality capabilities but are best known within specific niches.
Teradata is known mostly for its analytics and data warehousing capabilities. For organizations looking to run analytical processes, the Teradata Database and the company's Active Enterprise Data Warehouse offers a gateway to organizational knowledge based on advanced in-database analytics, intelligent in-memory processing, parallel in-database execution of scripting languages, native JSON support and transparent single query, multi-system processing.
Sybase Adaptive Server Enterprise (ASE), now owned and marketed by SAP, was one of the pioneers in the relational DBMS marketplace. Once considered a strong competitor to the big three, ASE has lost market share over the years. SAP ASE is used predominantly in the financial market for its performance and scalability features.
Informix, another early relational DBMS, is now owned and marketed by IBM. Informix is hailed for its ability to deliver unattended, fault-tolerant SQL processing. IBM is focusing on Informix's embedability and ability to seamlessly integrate SQL, NoSQL/JSON, time-series and spatial data.
Although these are capable DBMS products worth considering for specific use cases, there are fewer skilled professionals and tools supporting these DBMSes. If you're currently using them successfully, there's no reason to shift. Unless one of these DBMSes matches up with a particular use case, you're likely to be better served by one of the big three DBMSes.
Open source relational DBMS products
There are several open source relational DBMS products worth considering. The primary benefit of an open source RDBMS is similar to the benefit of any open source software -- users are free to run, copy, distribute, study, change and improve the software. However, open source doesn't mean completely free of charge -- at least, not usually for enterprise usage.
Two of the most popular are MySQL and PostgreSQL. MySQL is owned by Oracle, while PostgreSQL evolved from the University California-Berkeley Ingres project, which was one of the earliest relational database systems.
Although it's free to download, using an open source DBMS in an enterprise application requires vendor support, which comes at a price. Oracle offers support packages for MySQL, whereas EnterpriseDB offers a commercial distribution of PostgreSQL with support.
Before choosing the open source route with your RDBMS, be aware that some core relational features may be lacking (e.g., check constraints, join options). Additionally, you might need to configure the DBMS for specific workloads using a variety of plug-in database engines.
Overall, the big three RDBMS vendors continue to offer rich functionality, mixed workloads and solid performance and availability supported by multiple tools and many skilled technicians. Such support comes at a price, however. There are commercial and open source relational alternatives for those looking for specific uses cases or reduced cost.
About the author:
Craig S. Mullins is a data management strategist, researcher, consultant and author with more than 30 years of experience in all facets of database systems development. He is president and principal consultant of Mullins Consulting Inc. and publisher/editor of TheDatabaseSite.com. Email him at firstname.lastname@example.org.
This article was updated in November 2016.
Is there a lower-cost, scalable alternative to Oracle RDBMS?
Learn even more about RDBMSes
Rev up your Microsoft SQL Server training