In the SQL database market, the strengths and weaknesses of Oracle 11g, IBM's DB2 and Microsoft's SQL Server depend on the size of the shop, server hardware, and pricing and support.
Read the other sections of this guide on SQL databases:
Breaking down the contenders in the SQL database market
Diving deeper into the SQL database features
The MySQL open source database in the enterprise
For most IT managers working in a midsized enterprise and doing their first SQL database deployment, an entry-level version is usually in order. In the Oracle universe, Oracle Database 11g Standard Edition One proves to be a good starting point, while IBM deems its DB2 Workgroup Server Edition appropriate for small and midsized businesses. Microsoft, on the other hand, offers SQL Server 2008 WorkGroup Edition as a good starting point for midsized businesses deploying their first SQL database.
While each vendor in the SQL database market offers excellent products that incorporate SQL capabilities in an RDBMS database, there are some differences in capabilities, pricing and support. These differences could sway IT managers away from one product and toward another depending on what was discovered during the needs assessment process. A good starting point for the decision process comes from mapping out the basic capabilities and determining whether those capabilities are a good fit.
|Oracle 11g Standard Edition One||DB2 Workgroup Server Edition 9.7||SQL Server 2008 Workgroup Edition|
|Maximum CPUs Supported||2 Sockets||12 CPU Cores||2 Sockets|
|Memory Supported||Unlimited||16 Gbytes||4 Gbytes|
|Max Database Size||Unlimited||Unlimited||Unlimited|
|Maximum Number of Records||Unlimited||Unlimited||Unlimited|
|OS Support||Windows, Linux, Unix||Windows, Linux, Unix||Windows|
|Integrated Backup Support||Included||Included||Included|
|XML Support||W3C XML||PureXML||OpenXML|
|Prices Per Socket/CPU||$5,800 Product #: L46754||$12,600 (100 PVUs) D55TWLL||$3,899 SKU # A5K-02327|
Comparing the basics:
Perhaps one of the most difficult areas of comparison for Oracle 11g, IBM DB2 and Microsoft SQL Server is price. In the category of SQL database pricing, each company uses unique formulas that bundle in support, number of CPUs, number of users and so on, making pricing out a solution difficult. For example, Oracle 11g Standard Edition One has a "per socket" price of $5,800, but that socket could have a single CPU with four cores, or could be a single core CPU. Further complicating things, Oracle offers different levels of support, ranging from multi-year to perpetual support licenses, all of which affects pricing.
IBM, on the other hand, uses a complex method of assigning PVUs (processor value units) to each core in a CPU. Those PVUs are multiplied against a base price to come up with a total. A single CPU may have a PVU value of 100, while a dual core CPU will have a PVU value of 140. IBM also includes a year of support in its pricing. Microsoft charges per socket, regardless of the number of cores, which means you can derive more value when using multi-core CPUs, although there are still additional charges for support options.
When using price as part of the decision process, it is important to calculate out the total price for CPUs and support needed. For competitive pricing, IT managers may want to consult with a vendor, authorized partner or reseller. The initial price of the software is only a small part of the equation, of course. IT managers still need to factor in the cost of hardware, support, installation, training and configuration to understand the total cost of ownership (TCO) of any database product. Remember, too, that those prices can vary from installation to installation.
While pricing is important for budgetary considerations, the real task of selecting a database server comes down to evaluating each product's features and capabilities and how those will affect the deployment desired.
At first blush, the major features in each of the offerings from IBM, Oracle and Microsoft seem to be very much alike. But when you drill down into some of the more critical elements, differences become readily apparent.
First and foremost are the differences in OS support. Microsoft's SQL Server runs only on Microsoft Server OSs, while IBM's DB2 and Oracle 11g support multiple OS platforms, including Unix, Linux and Microsoft server operating systems. Another major difference is how each vendor supports XML. Oracle, Microsoft and IBM all offer support for XML data, but each vendor has its own flavor of XML, which, for the most part, is compatible with the World Wide Web Consortium (W3C) standard . Even so, it is important for network administrators to research XML support if XML is to be used by applications.
Other elements to consider are the maximum size of the database and the number of records the database can hold. Luckily, modern SQL databases have done away with those limitations. Another element comes down to how much RAM the database can access. For most modern databases, the more RAM a database can access, the better its performance will be. Here, Microsoft supports 4 Gigabytes, IBM supports 16 Gigabytes and Oracle imposes no limit. Realistically, 4 Gigabytes should be more than adequate for most purposes, except for the largest of databases. But, if memory does become a concern, both IBM and Microsoft offer upgrade paths to enterprise database products that eliminate the memory constraints.
While RAM, storage space, record counts and upgrade paths are all important metrics in the decision-making process, there are several other less tangible considerations. To choose wisely, one must consider those elements and incorporate how each of them aligns with their needs. Performance is a perfect example of that. In the database world, performance ratings are based on an industry-standardized calculation called millions of transactions per minute (tpmC). The only problem with tpmC ratings is that they can vary based upon configuration, options and, most importantly, the hardware chosen to run the database.
For example, Microsoft claims to be the tpmC leader when SQL Server is run on Intel Itanium processors in a non-clustered environment. Oracle, on the other hand, claims performance superiority when run on clustered UNIX systems. IBM's claims to performance advantages are tied to running DB2 on mainframe class systems.
One should try to normalize performance testing by dictating that all of the contenders be run on the same hardware and network operating system environments. However, the results could prove useless simply because the vendors have different recommendations and requirements for maximizing performance, thereby affecting the hardware selected. Ironically, each database being examined here offers more than enough performance to work well in a small or medium enterprise (SME) environment, making the performance issue a nonfactor unless you are scaling up to the requirements of a large enterprise.
This was first published in November 2009