The last traditional popular relational database management system (RDBMS) that we will be covering in this series is IBM DB2. Along with Oracle's and Microsoft's RDBMS products, DB2 captures the lion's share of the RDBMS market.
The complete range of DBMS types out there, including Desktop, Server, Web-enabled, Cloud DBaaS, and open source counterparts, were outlined in part one of our database buying guide series. After reviewing some of the more critical evaluation considerations throughout parts one and two, we looked at the top three products in the Desktop databases category in part three.
So let's examine what DB2 has to offer and see if it might have an edge over its competitors.
Should We Get Excited about Oracle Compatibility?
Although Oracle was the first company to release a commercial SQL database product, IBM soon followed suit when it released SQL/DS on the VM platform. Soon after, in 1983, they released DB2 on its MVS mainframe platform.
Since then, Oracle has continued to dominate the market share, with IBM coming in at number two. In an attempt to capture the number one position, IBM added several features to DB2 version 9.7 in 2009 that emulate those of Oracle, including support for SQL, PL/SQL, and scripting syntax of Oracle Database.
The Oracle compatibility features may or may not be an attractive selling point for those who wish to make the switch from Oracle to DB2. To those of us who are playing the field, so to speak, and looking for the right database server for us, Oracle compatibility is probably not much of a deciding factor.
IBM has delivered the best compression rates in the industry for the past two releases using table wide dictionary compression. DB2 version 9.7 adds compression for indexes, temp tablespaces, XML data, and Large OBjects (LOBs). The new ADMIN_GET_INDEX_COMPRESS_INFO command can be run on non-compressed indexes to see how much space index compression would save.
PureXML support was first introduced in Version 9.1. It allows you to store well-formed XML documents in database table columns that have the XML data type. By storing XML data in XML columns, the data is kept in its native hierarchical form, rather than stored as text or mapped to a different data model, making searching, retrieval and updates of XML data more efficient. XQuery, SQL, or a combination of both can be used to query and update your XML data. SQL functions that can return XML data and accept XML-formatted arguments, called SQL/XML functions, allow you to construct XML data from values retrieved from the database. This is a great feature if you expect to handle a lot of XML data.
Compatibility and Concurrency
IBM has introduced specific new features and additions toDB2's data types that will provide increased compatibility with the other RDBMSs in the industry such as Oracle, SQL Server and MYSQL.
The new types include NUMBER and VARCHAR2, while features include the ability to specify the DATE format and TIMESTAMP parameters to set the number of picoseconds seconds (that's one trillionth of a second!) from zero to 12 picoseconds of precision.
Improved concurrency comes in the form of a new isolation level called Currently Committed. It's the new default for DB2 for online transaction processing (OLTP) and data warehouse processing.
Moreover, DB2 9.7 has the ability to bypass locked rows and read their currently committed state from the active log. In applications that open a cursor in the DBMS, and iterate through the result set, fetching one row at a time, the processes reading the database could block others trying to write data to the database. By skipping locked rows, DB2 avoids troublesome deadlocks.
Autonomous transactions are able to commit a block of statements independent of an invoking transaction. That way, the data is committed even if the invoking transaction itself is rolled back. This feature is well suited for the type of exception processing that one might find within a web service or application.
The Performance Optimization feature includes the capabilities of the Workload Manager and the Optim Performance Manager Extended Edition.
Workload management refers to the managing of diverse and potentially high CPU-heavy tasks, including inserting data into tables, backups and restores, table modification, and report generation. Workload management helps to distribute the load placed on a database and its server by utilities running against it. Monitoring tools are included to help evaluate problems, which have access to real-time information.
Optim Performance Manager Extended Edition for DB2 is a tool for optimizing the performance and availability of mission critical databases and applications. It's aimed at IT staff to help them identify, diagnose, solve and prevent performance problems in DB2 and in applications written in Java or that utilize DB2's Call Level Interface (CLI). It comes with out-of-the-box configurations for SAP, WebSphere, Cognos, InfoSphere DataStage, and InfoSphere Warehouse SQL Warehousing Tool applications.
Product Editions & Pricing
Like the other big players in the RDBMS arena, Oracle and Microsoft, IBM offers several different editions of its DB2 product. These are further extended by the option and support packages. When comparing prices, be sure to add up all of the extras that you'll need, as they could greatly inflate the initial figures.
The editions include:
- Enterprise Server Edition
- Advanced Enterprise Server Edition
- Workgroup Server Edition
- Express Edition
Here are some examples of prices for the various editions, in US dollars:
- Advanced Enterprise Server Edition Authorized User Option Authorized User License, including SW Subscription & Support 12 Months: $1,160
- Enterprise Server Edition Authorized User License, including SW Subscription & Support 12 Months: $1,040
- Workgroup Server Edition User License: $442
- Express Edition User License: $184
- Express-C: FREE
One benefit that wasn't covered here is DB2 9.7's superb benchmarks for availability. While DB2 has always been considered a highly a stable platform, this latest version raises the bar yet again. For those of you who are looking to maintain 24/7 availability to your data, IBM DB2 is a good bet. This latest version will also help you maintain exceptional security and reliability at a relatively low price point.