Вы находитесь на странице: 1из 65

IBM DB2 UDB V8.


Oracle10g®
Microsoft SQL Server 2000®

A technical comparison

Bad Homburg, Germany, November 2004

Jacqueline Bloemen
Guido Brunner
BeKS Business eKnowledge Solutions GmbH

in partnership with The Fillmore Group Inc. USA

document-name: DBMS Comparison 2004 v2.0.doc


version: 2.0
document status: final
# of pages: 65
IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

CONTENTS
1 AUTHORS .............................................................................................................................................3

2 EXECUTIVE OVERVIEW ......................................................................................................................5

3 SCOPE...................................................................................................................................................8

4 PRODUCT ARCHITECTURES ...........................................................................................................10


4.1 PACKAGING AND NEW FEATURES .....................................................................................................10
4.2 MOBILE COMPUTING ........................................................................................................................15
4.3 LINUX SUPPORT ..............................................................................................................................18
5 COMPARISON ....................................................................................................................................25
5.1 SCALABILITY ...................................................................................................................................26
5.2 PERFORMANCE ...............................................................................................................................29
5.3 AVAILABILITY ...................................................................................................................................33
5.3.1 Planned Outages ...................................................................................................................34
5.3.2 Unplanned Outages...............................................................................................................36
5.4 MANAGEABILITY ..............................................................................................................................40
5.5 APPLICATION DEVELOPMENT ...........................................................................................................45
5.6 BUSINESS INTELLIGENCE .................................................................................................................47
5.7 INTEGRATION ..................................................................................................................................52
5.8 CONNECTIVITY AND INTEROPERABILITY.............................................................................................54
5.9 CONTENT SERVICES AND EXTENSIONS .............................................................................................56
5.10 SECURITY .......................................................................................................................................58
5.11 ON-DEMAND AND GRID-COMPUTING ................................................................................................60
5.12 STANDARDS ....................................................................................................................................63

IBM®, DB2®, DB2 Universal Database, DB2 Information Integrator, DB2 Intelligent Miner for Data are registered
trademarks of IBM Corporation.

Microsoft®, WINDOWS®, and SQL Server® are registered trademarks of Microsoft Corporation.

ORACLE® is a registered trademark of ORACLE Corporation.

TPC Benchmark, TPC-H and TPC-C are trademarks of the Transaction Processing Performance Council. For further
TPC-related information, please see http://www.tpc.org/.

SAP, R/3 and all other SAP product and service names mentioned herein are trademarks or registered trademarks of
SAP AG in Germany and in several other countries. For the latest SAP results, visit
http://www.sap.com/benchmarks/.

All other product or service names are trademarks of the respective companies.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 2


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

1 Authors

Jacqueline Bloemen Jacqueline (mailto:jacqueline.bloemen@beks-consulting.com) has been


working in the IT industry since 24 years, and is a consultant since 1986.
She has specialized on data management technology focusing on
architecture and data design, data warehousing and strategic data
management on heterogeneous DBMS and platforms.

Guido Brunner Guido (mailto:guido.brunner@beks-consulting.com) has been working for


the IT industry since 1982. Key areas he is working on are data warehousing
and data management for different customers primarily in the banking area.
He has deep experience with the mainstream DBMSs, such as Sybase,
Informix, Microsoft SQL Server, DB2 (z/OS, Windows, Solaris and Linux)
and Oracle.

Co-Authors

Susan Gausden Susan Gausden has many years of international experience with software
vendors and end-customers in cross-platform data access, data
warehousing and database performance. She can be contacted at
susan.gausden@brooktek.co.uk.

Terry Mason Terry Mason is a database consultant, with extensive international


experience in data warehousing, performance assurance, and database
migrations. He also provides database education and can be contacted at
terry.mason@brooktek.co.uk.

The authors would like to express their explicit thanks to the following consultant who helped clarify
many in-depth technical questions and contributed experiences from the field :
Andrea Held Andrea has been working in the field of computer science since 1992, with
an emphasis on rDBMSs in heterogeneous environments. Her certifications
in this area include OCP and MSSQL DBA. As a fellow of the University of
Applied Sciences in Frankfurt, she is also engaged in teaching classes
centered on relational databases and occasionally contributes to several
professional publications.
Additional thanks goes to William Miller as Editor of this paper.
William R. Miller William has been working as a DB2 consultant for many large German and
international companies for the last 12 years. He has been involved with
DB2 aspects at all levels - ranging from conceptual database design to low-
level monitoring and tuning. He frequently gives presentations at database
conferences throughout the world. He can be contacted at
wrmiller@wrmiller.com.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 3


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

We would also like to thank The Fillmore Group Inc. for partnering with us throughout work on this
study :
The Fillmore Group (TFG) is a premier international provider of systems integration, consulting, and
training solutions for clients implementing relational database management systems and related
technologies. TFG founder and principal, Frank C. Fillmore, Jr. has been working with data
management software for 18 years. He is a frequent presenter at local, regional, and continental users
group meetings.
BeKS GmbH (BeKS Business eKnowledge Solutions GmbH) is an international provider of services
and solutions for data-intensive systems in support of business management and enterprise
performance measurement.
This study was prepared for IBM.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 4


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

2 Executive Overview
In 2003, over 86% of the worldwide total RDBMS revenues went to only three vendors.
According to a recently published study by the Gartner Group1, IBM had 35,7%, Oracle 32,6% and
Microsoft 18,1% of total 2003 RDBMS new license revenue.
But neither license revenue nor market share will be the dominant factor when selecting a
database for enterprise applications. Prospective customers should be looking at a large range of
criteria, including a great number of technological aspects, to evaluate available database
products. This paper seeks to support senior technical product evaluators in comparing IBM DB2
Universal Database v8.2, Oracle10g, and Microsoft SQL Server 2000. A thorough list of technical
criteria (with over a hundred detailed measures) has been grouped into 13 categories, enabling a
comparison based on database technologies. Additional criteria concerning product architecture
and operating system support has been researched and documented. It is important to understand
that, although this paper includes information on built-in features and payable options, our
evaluations have disregarded any TCO aspects and should be viewed from a technical perspective
only.
Database technology has grown to be very mature. Market leading DBMS offerings include much
more than the basic traditional relational features that support reliable and flexible data access.
These additional capabilities enable bringing various forms of data processing closer to the
database engine, in support of management efficiency. While this is appealing to the user, it also
adds complexity. Databases have grown to support very large data volumes and/or high-end
transaction loads. While this adds to overall complexity as well, the individual user will need to
know and comprehend which features and capabilities he/she will actually need to fulfill enterprise
requirements. All three DBMS’ in question are mature products with an acceptable level of
stability. They all fulfill major business requirements and can generally be recommended for
professional use. They all have answers to today’s technical issues (with varying implementation
depth) and leave no essential gaps. The differentiating factors will be found in high-end technical
requirements and product innovations. Value will need to be measured by individual requirements.
DB2 v8.2 and Oracle10g offer major enhancements in the area of manageability and availability.
Both have added significant improvements in managing complex data environments and
automating many administration activities. While SQL Server has been perceived as the most
manageable database for small to medium databases, DB2 has clearly closed this gap and leads
for medium to large implementations, with Oracle following as challenger. In the area of planned
outages, both IBM (with utility throttling) and Oracle (with Data Pump) have enhanced the latest
versions of their DBMS products, however leaving the lead to Oracle due to unmatched
advantages in schema management. In the area of unplanned outages, we see a tie for Oracle
and DB2. DB2’s new HADR closes the gap to Oracle’s Data Guard. While Oracle offers additional
features in the area of undo management, DB2’s abilities for failover clusters appear to have
advantages in BI environments.
SQL Server is perceived as a very usable product that integrates extraordinarily well into the
Windows application development platform. In the past, SQL Server has carried the reputation of
being clearly small-scale, sometimes unstable and not as functionally rich as other leading DBMS.
While Microsoft has addressed some of these concerns with SQL Server 2000, there have not
been significant enhancements in a number of years. SQL Server integrates well into application
development tools based on Windows standards, although it lacks the level of integration in .NET
that DB2 has to offer. Microsoft has done a good job of incorporating basic BI tools and
capabilities into the product, and by integrating these extensions into the typical environment of a
Windows developer they tend to be adopted very well. The latest enhancement in this area is
Report Services. Yet ability to execute in a BI environment must also be viewed from a scalability

1
Gartner announcement May 2004

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 5


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

and performance perspective. While in the past, SQL Server has led some benchmarks in OTLP
processing, it still fails to address the needs of large scale, query intensive applications based on
very large data volumes so typical for BI applications. However, due to moderate overall
complexity as well as an impressive level of autonomy, SQL Server delivers very good
manageability for the environments it supports best – small to medium applications on the
Windows platform.
While extensions to the relational model are not the strength of SQL Server, Oracle and DB2 have
established a number of object-relational features in their products and have good support for
content management and database extensions. In contrast to Oracle’s integration policy of
subsuming all data types into the Oracle database, DB2 allows for integration of information sitting
both inside and outside the native DB2 world. With this strategy, DB2 enforces the goal of being
the single point of access to enterprise data. SQL Server follows a middleware policy for
integration of heterogeneous source data as opposed to Oracle’s “integrate everything in the
database” strategy. In contrast to both, DB2’s philosophy of being the “window to enterprise
information” takes on responsibility for efficient data access regardless of the information source.
This is reinforced by the number of sources supported by many impressive information integration
features in the product. DB2 supports maximum flexibility when extending the database and/or
integrating different kinds of information sources.
In the area of security management, Oracle supports some features (mainly involving
authentication) where the competing DBMS products rely on other application layers (i.e. the
operating system). Oracle offers a security feature unmatched by DB2 and SQL Server with its
Label Security. With v8.2, DB2 offers a redesigned, plug-in architecture in support of integration of
individual authorization mechanisms.
Although DB2’s native BI offering is not as rich as SQL Server’s, the open and architecturally well-
designed framework offered can be extended by various best-of-breed partner offerings. In
combination with the clear strengths DB2 has in the areas of scalability and performance (backed
by both features and benchmarks), DB2 can be seen as the overall leader for high-scale business
intelligence applications. Due to its extensive features offerings, DB2 has a fairly high level of
complexity. With v8.2, DB2 has achieved a good balance between this complexity and
manageability based on an overall well-implemented architecture supported by autonomous
features.
In summary, our evaluations show the following results :

Area Leader Challenger Follower


Scalability DB2 UDB v8.2 Oracle10g SQL Server 2000
Performance DB2 UDB v8.2 Oracle10g SQL Server 2000
Availability
Oracle10g DB2 UDB v8.2 SQL Server 2000
Æ Planned Outages
Æ Unplanned Outages DB2 UDB v8.2 / SQL Server 2000
Oracle10g
Manageability
Æ Small-medium DB2 UDB v8.2 / Oracle10g
SQL Server 2000
DB2 UDB v8.2 Oracle10g SQL Server 2000
Æ Medium-large
Application Development
Æ Built-in DBMS features DB2 UDB v8.2 Oracle10g SQL Server 2000
Æ IDE and AD Community detailed rating outside scope of this paper

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 6


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Business Intelligence SQL Server Oracle10g


20002
/ DB2 UDB v8.2
Integration DB2 UDB v8.2 Oracle10g SQL Server 2000
Connectivity and Interoperability DB2 UDB v8.2 Oracle10g SQL Server 2000
Content Services and Extensions DB2 UDB v8.2 / SQL Server 2000
Oracle10g
Security Oracle10g DB2 UDB v8.2 SQL Server 2000
Grid-Computing and On-Demand DB2 UDB v8.2 Oracle10g SQL Server 2000
Standards DB2 UDB v8.2 Oracle10g SQL Server 2000

Figure 1 Evaluation Summary


Not all areas of our evaluation will be of interest to all enterprises, and not all enterprises are in
need of high-end application support. For individual decision making, we advise you to customize
and prioritize the criteria list to tailor to your individual needs. Clarify which types of applications
you need to support, consider grouping of categories (or perhaps subsets of categories) to reflect
these application types and add the aspects of TCO to your decision list.

2
SQL Server restrictions on ability to execute on very large data volumes will apply (see
performance and scalability)

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 7


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

3 Scope
IBM, Oracle and Microsoft are perceived to be the DBMS market leaders. The most recent Gartner
Dataquest database market research for 20033 has substantiated this finding. It sees IBM
(including its Informix offerings) holding the top market share slot at 35.7 percent share, Oracle
placed second overall at 32.6 percent market share and Microsoft third at 18.1 percent market
share (all based on an estimated total market of $7.1 billion measured by new license sales).
However, market share will not be the dominant factor when selecting a database for enterprise
applications. This paper seeks to support senior technical product evaluators with technological
references to and comparisons of the flagship DBMS products of the market leaders IBM (with DB2
UDB v8.2), Oracle (with Oracle10g) and Microsoft (with SQL Server 2000). The discussion
focuses primarily on platforms Linux, UNIX and Windows.
This study will differentiate between general product information and technical evaluations. The
chapter “Product Architectures” introduces the latest product enhancements and product
packaging, and gives an overview of DBMS support for mobile computing. We have also added
specific information on Linux support to give tribute to the growing interest and market success of
this environment: according to Gartner Dataquest, the overall Linux RDBMS market in 2003 grew
158 percent to $300 million in new license revenue from $116 million in 2002.
Those who are familiar with former versions of this paper will notice only minor changes in
structure. We have focused our research on the new features in DB2 UDB v8.2 and Oracle10g
and updated the findings in this paper appropriately. While Oracle10g is a new version, DB2 v8.2
is an updated release of DB2 v8.1. For an explicit focus on the many enhancements made in DB2
v8.1, interested readers are advised to consult the former version of this paper. There has been
only one enhancement to SQL Server 2000, Report Services, which have been recognized in the
Business Intelligence chapter.
For evaluation and rating purposes, a broad list of technical criteria has been grouped into the
following categories:
‰ Scalability
‰ Performance
‰ Availability – planned and unplanned outages
‰ Manageability
‰ Application Development
‰ Business Intelligence
‰ Integration
‰ Connectivity and Interoperability
‰ Content Services and Extensions
‰ Security
‰ On-Demand and Grid Computing
‰ Standards
The detailed list is made up of roughly 150 criteria points. These have been researched and
documented. However, not all our findings are documented in this paper. We found it important to
focus on the most significant results and report these in a concise manner. Any individual in
search of the extended findings or interested in an in-depth discussion is welcome to contact the
authors directly.
We utilized a hands-on environment with an installation of all three DBMS, our own extensive
project experience and discussed many technical issues with other DBAs to enable a real-world
picture. We used the extensive technical product documentation provided by each database
vendor to do detailed research. We also pulled information from various documents found on the
Web, both on the vendor’s sites as well as from independent sources.

3
Gartner Dataquest results from May 2004

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 8


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Some of the aspects discussed are of architectural or strategic nature and subject to personal
opinion. Our utmost goal is to remain neutral – although detailed evaluation is sometimes difficult
to separate from individual perception and preference. We hope to have explained our reasoning
in a transparent way, although space restrictions have been an issue.
Some other aspects handled have a high affinity to other tool categories, e.g. Integration,
Application Development or Grid Computing. This discussion focuses on the built-in database
support (including DBMS options) for these areas, and does not evaluate any add-on products the
vendors or vendor partners have to offer.
We hope that the reader finds valuable support for his/her decision making process. However, it is
important to understand that two significant areas relevant to database product selection could not
be touched upon.
First, we obviously were not able to prioritize ratings according to individual enterprise and
application requirements. It might be necessary to complete the criteria list with individual
circumstances. When scoring database features according to your individual needs, it might prove
to be of help to explore which application types the DBMS is predominantly required to support and
prioritize criteria accordingly. We can provide an extensible scorecard that enables this and have
done so for a number of clients.
Second, we have not rated according to total cost of ownership. Although we include references to
product features vs. product options, costs for additional options have not been factored in to the
technological discussion. To measure TCO for your enterprise, you will need to match prioritized
requirements of the enterprise to customized pricing quotes from the vendors. Additionally, you will
want to factor in skill development and maintenance costs. But most importantly, you will want to
make an effort to measure how well a database product integrates in the environment it is to be
used, and how efficient development, administration and deployment processes will work for your
enterprise.
Finally, this paper aims to offer technical insight concerning product evaluation to a certain extent.
To enable comprehensive decision making we advise individual scorecarding as mentioned above
in conjunction with calculation of estimated TCO for the enterprise.
Lastly, we feel obliged to reiterate that all three DBMS in question are mature products with an
appropriate level of stability. They all fulfill major business requirements and can generally be
recommended for professional use. They all have answers to today’s technical issues (with
varying implementation depth) and leave no essential gaps. The differentiating factors will be
found in high-end technical requirements and product innovations.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 9


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

4 Product Architectures
The following product summaries are intended to give the reader an overview of each DBMS prior
to going into the ratings in subsequent chapters. Mobile Computing and Linux Support are included
in this chapter as they form part of the overview, and are not specifically rated in this paper. Both
IBM and Oracle have invested heavily in Linux, and all three vendors have product offerings in
Mobile Computing. These have been included for completeness.

4.1 Packaging and New Features

4.1.1 IBM DB2 Universal Database Version 8.2


DB2 Universal Database (UDB) – one of the IBM’s five base software pillars – merged in the last
few releases from database management to a comprehensive solution for data management. DB2
is no longer only a single product, it has emerged as a brand for products related to the full data
management capabilities of IBM.
DB2’s architecture is characterized by the following major design rules:
‰ DB2 should be the single point of access to company’s business data – regardless if it is
stored in the database or outside.
‰ Extensions to the DBMS can be integrated with object-relational features both by IBM and 3rd
party vendors.
‰ The support of large-scale OLTP- and BI-applications (including mixed workloads and real-time
BI) can be done both with large-scale SMP boxes and with clusters of separate nodes and
partitioning of table data over these nodes.
‰ Reduce management efforts with wizards, experts and advisors as well as self-healing and
self-configuring features.
The DB2 Database product family covers heterogeneous platforms, scaling from handhelds up to
mainframes:
‰ DB2 Universal Database for Linux, UNIX and Windows (DB2 UDB) is packaged into several
editions:
ƒ DB2 Universal Database Personal Edition (DB2 UDB PE) for use in a single-user mode.
ƒ DB2 Universal Database Express Edition is a specially tailored full feature relational
database for small and medium business.
ƒ DB2 Universal Database Workgroup Server Edition (DB2 UDB WSE) and DB2 Universal
Database Workgroup Server Unlimited Edition (DB2 UDB WSUE) for applications and data
shared in a workgroup or department.
ƒ DB2 Universal Database Enterprise Server Edition (DB2 UDB ESE) for complex
configurations and large database needs from uni-processors to the largest SMP and MPP
implementations. To this end, the Database Partitioning Feature (DPF) option enables
partitioning within a large SMP server, or across multiple servers.
ƒ DB2 UDB Data Warehouse Enterprise Edition (DB2 UDB DWEE) provides a packaged
collection of Business Intelligence products including DB2 UDB ESE, the database
partitioning feature (DPF), Query Patroller, DB2 Warehouse Manager, DB2 Cube Views,
DB2 Intelligent Miner extenders, Office Connect, and Information Integrator
ƒ DB2 UDB Data Warehouse Standard Edition (DB2 UDB DWSE) contains a subset of DB2
UDB DWEE offered for small and medium business.
ƒ DB2 Universal Database Express Edition is a specially tailored full feature relational
database for small and medium business.
‰ DB2 Universal Database for iSeries (DB2 UDB for iSeries)
‰ DB2 Universal Database for z/OS (DB2 UDB for z/OS)
‰ DB2 for VSE & VM
‰ DB2 Everyplace for handhelds on handheld operating environments

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 10


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Because of its extensive functionality, DB2 offers various centers, wizards and advisors in support
of developers and administrators, and includes many samples. The manuals are very detailed and
a very valuable information source. Navigating is not always intuitive. Sometimes it is difficult to
locate exactly the information you are in search of in the documentation. The interface for online
help is good and additional Redbooks deeply discuss special features.
Version 8.2 of DB2 UDB for Linux, UNIX and Windows offers enhancements in very many areas –
here are the most important listed4:

‰ Manageability and Usability


ƒ Activity Monitor
ƒ Index extensions in partitioned environment
ƒ System Security enhancements for Windows
ƒ SQL statement size limit increased to 2MB
ƒ Log file inclusion in backup images
ƒ Self-tuning backup and restore
ƒ Automated database maintenance
ƒ Health Center enhancements
ƒ New command for simplified database recovery
ƒ Simplified memory configuration and reduced memory errors
ƒ Advanced ALTER TABLE functionality from the GUI
ƒ Support for Windows Local System Account
ƒ Column default values can be altered
ƒ Kerberos authentication support for the UNIX platforms
ƒ Pattern matching when using the db2look command
ƒ DB2 embedded application server enhancements
ƒ Automatic maintenance available when creating a database
ƒ View historical storage information for all objects
ƒ Command Editor
ƒ Control Center enhancements
ƒ Utility progress monitoring
ƒ Changing generated column properties without having to recreate the table
‰ Performance and Scalability
ƒ RUNSTATS sampling and throttling
ƒ Design Advisor for MDC, MQT, index and partitions
ƒ Specify a lock wait mode strategy
ƒ Automatic statistics profiling
ƒ Large page support in buffer pools in DB2 UDB for Linux
ƒ Multipage file allocation on SMS tablespaces enabled by default
ƒ Automatic setting of prefetch size
‰ Availability
ƒ High Availability Disaster Recovery (HADR)
ƒ Automatic client reroute
ƒ Online import
ƒ Utility for demigrating database directories from version 8.2 to version 8.1
‰ Connectivity and Integration
ƒ XML Extender platform support for HP-UX 32-bit and 64-bit PA-RISC
ƒ DB2 Geodetic Extender
‰ Business Intelligence
ƒ DB2 Warehouse Edition enhancements including integrated installation
ƒ Query Patroller

4
DB2 UDB v8.2 is an updated release of DB2 UDB v8.1. Enhancements to v8.1 are not explicitly
listed here, please consult the previous version of this paper for the a list of enhancements to v8.1.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 11


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

‰ Application Development
ƒ Development Center no longer requires a C compiler for building stored procedures
ƒ SQL statements enhancements
ƒ JDK 1.4 support
ƒ JDBC Driver enhancements
ƒ OLE DB and ODBC .NET data providers
ƒ .NET common language runtime (CLR) stored procedures
ƒ Development add-in for Microsoft Visual Studio .NET enhancements

4.1.2 Oracle10g
Oracle 10g is not only the version name for the database server, but is also the family name for the
whole suite of products around the core server. These products include the
‰ Oracle10g Application Server
‰ Oracle10g DBMS
‰ Oracle10g Developer Suite
Like its 9i predecessor, the 10g suite continues to be tightly integrated. Nevertheless, both
Oracle10g DBMS and Oracle10g Application Server still work with 3rd party products, albeit in a
less integrated fashion.
Broadly considering Oracle’s software portfolio, it is clearly evident that the Oracle direction is to
comprehensively address customer needs by offering a full range of tightly integrated software, so
that customers need not look for other vendor products.
The Oracle10g DBMS is generally available on all major platforms (including MVS and RS2000)
and delivered in four versions, which are all built using the same database engine architecture:
‰ Oracle Database 10g Personal Edition, which supports single user development on the desktop
‰ Oracle Database 10g Standard Edition One, which is aimed at workgroup and departmental
level applications, and smaller to medium businesses;
‰ Oracle Database 10g Standard Edition (SE), which is like Standard Edition One, but also
includes support for Real Application Clusters and larger machines;
‰ Oracle Database 10g Enterprise Edition (EE), which is aimed at large corporations with the
most demanding requirements.
It should be noted that the different editions have a different level of features. For example,
Standard Edition One and Standard Edition do not contain many of the availability features
included in Enterprise Edition.
There is an additional Oracle Database product, which has a different code base due to the special
requirements for handheld devices:
‰ Oracle Database 10g Lite, which supports mobile users that are disconnected most of the time.
Given the rich functionality, getting started in an Oracle environment may appear somewhat
daunting for an Oracle beginner – to come into a productive state might take longer with Oracle
than with its competitors. However, the documentation is still sufficiently redundant in order to be
highly usable.
Oracle 10g builds significantly on the enhancements delivered in Oracle 9i Release2.
‰ Manageability and Usability
ƒ Automatic Storage Manager (ASM) for optimal use of disk storage
ƒ Integrated clusterware supporting, for example, cluster connectivity, messaging and
locking.
ƒ Automatic workload management for improved server provisioning
ƒ Faster software installation
ƒ Improvements to “silent mode install”

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 12


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ Further automated setting of initialization parameters


ƒ Automatic Workload Repository (AWR) gathers system activity and workload data
ƒ Easier identification of poor performing queries via the Automatic Database Diagnostics
Monitor (ADDM)
ƒ Grid Control for managing software stacks, patch management, provisioning users and
cloning databases
‰ Performance and Scalability
ƒ Self-tuning memory (SGA)
ƒ SQL Tuning Advisor
ƒ Improvements in Oracle Spatial performance
ƒ Faster JDBC drivers
ƒ Improved optimization of compute-intensive PL/SQL programs
‰ Performance and Scalability
ƒ Enhanced Flashback (faster “undo” of database changes)
ƒ Enhanced Hardware Assisted Resilient Data (HARD) feature to reduce I/O related data
corruption
ƒ Faster automatic recovery of databases by using disk-based recovery area
ƒ Real-time apply in Oracle Data Guard for closer synchronization between standby and
production databases
ƒ Redefinition of tables without invalidating stored procedures
ƒ Rolling upgrade support for database versions
ƒ “Fast connection failover” JDBC drivers
‰ Business Intelligence
ƒ Enhanced OLAP analytics
ƒ Data Mining GUI
ƒ Virtual multi-dimension arrays built from query result sets (SQL model feature)
ƒ Change data capture capabilities for real-time warehousing
‰ Data Management
ƒ Support for exabyte (millions of terabyte) “ultra large” databases via multi-terabyte files
and up to 128 terabyte LOB’s
ƒ Cross-platform transportable tablespaces operating at file transfer speeds
ƒ Oracle Data Pump provides fast, restartable movement of bulkdata and metadata across
platforms
‰ Application Development
ƒ Enhanced XML capability: support for Microsoft Advanced Server Format for streaming
database content to Windows Media Server
ƒ New spatial data models and spatial business analytics
ƒ Text mining for document clustering, classification and information extraction
ƒ Web services support
ƒ HTML DB for creation of database –centric web applications
ƒ JDBC 3.0 support
ƒ Improved text search and manipulation within SQL and PL/SQL
‰ Security and auditing
ƒ Single sign-on via the Oracle Internet Directory
ƒ Single password capability, via integration of Oracle Label Security and Identity
management.
ƒ Fine-grained auditing. i.e. of row-level activity (inserts, updates and deletes)
‰ Mobility (refers only to Oracle Database 10g Lite)
ƒ Support for Linux
ƒ JDBC Thin Driver will be installed per default

4.1.3 Microsoft SQL Server 2000


SQL Server 2000 not only stands for Microsoft’s relational database product, it stands for
multidimensional cube technology included under the brand MS Analysis Server.
It is a matter of strategy to support only the Windows operating systems with every software
package that comes from Microsoft’s development centers. This limits availability of software

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 13


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

packages to Windows platforms, but Microsoft increasingly gains market share for such Windows
only software. From a technical point of view, this results in tight integration to and knowledge of
the underlying operating system. But there are other reasons too, i.e. pricing.
The integration with the operating system as well as the integration with the other software
components in Microsoft’s product portfolio is one of the major design rules. Not surprising, the
Microsoft based developer family is huge and interested in a tight integration of the backend
DBMS.
The database architecture focuses primarily on structured data organized relational and
multidimensional for BI applications – SQL Server does not have the demand to integrate the full
object-oriented story.
On the high-end SQL Server integrates with Microsoft Cluster Service to allow for highly available
applications and systems. For high performance on large databases and/or with lots of users SQL
Server supports both SMP boxes and a federation of more than one box.
SQL Server comes in several editions:
‰ SQL Server 2000 Standard Edition is the recommended edition for small-sized and medium-
sized organizations and can be used on symmetric multiprocessing (SMP) systems with up to
4 CPUs and 2 GB of RAM.
‰ SQL Server 2000 Enterprise Edition contains the complete set of database and analysis
features and supports environments from uniprocessors to SMP's with up to 32 processors and
64 GB RAM on 32-bit boxes and up to 64 processors and 512 GB RAM on 64-bit boxes.
Furthermore it can be used in cluster environments.
‰ SQL Server 2000 Personal Edition is ideal for mobile users or stand-alone applications (max. 2
processors and 2GB RAM);
‰ SQL Server 2000 Developer Edition allows developers to build any type of application on top of
SQL Server;
‰ SQL Server 2000 Evaluation Edition, a time limited Enterprise Edition;
‰ SQL Server 2000 Windows CE Edition is the compact database for rapidly developing
applications that extend enterprise data management capabilities to devices;
‰ SQL Server 2000 Desktop Engine is a redistributable version of the SQL Server relational
database engine (max. 2 processors and 2GB RAM).

SQL Servers DBA user interface is fully designed in the Windows style in an intuitive manner. A
beginner with Windows experience will immediately feel comfortable in the environment and get
along. The user interface for SQL Server documentation is very usable too and the tutorial gives a
brief introduction to the different themes.
SQL Server 2000 was the first major version since SQL Server 7. The following list shows the most
important new and improved features:
‰ Manageability and usability
ƒ New model for specifying backup and restore options.
ƒ Copy Database Wizard.
ƒ SQL Profiler now supports size-based and time-based traces.
ƒ Graphical administration improvements for log shipping.
ƒ New Meta Data Browser
ƒ XML encoding, the new implementation of meta data interchange.
ƒ Object Browser, which allows for navigation through and get information about database
objects.
‰ Installation and Configuration
ƒ Multiple instances of SQL Server on the same computer.
‰ Performance and scalability
ƒ Distributed partitioned views.
ƒ Indexed views.
ƒ Indexes on computed columns.
ƒ 64-GB memory support.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 14


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ small text, ntext, and image values be placed directly in the data row instead of in a
separate page.
ƒ Shared scan.
‰ Availability
ƒ Failover clustering enhancements.
ƒ DBCC now takes advantage of multiple processors.
ƒ Online index reorganization
‰ Connectivity and Integration
ƒ Support for the OLE DB Provider for Exchange and the Microsoft OLE DB Provider for
ƒ Microsoft Directory Services.
ƒ Improvements in replication such as merge and transactional replication.
ƒ Return rowsets in XML format
ƒ Usage of XML to update, insert and delete rows in relational tables
‰ Contents and extensions
ƒ User-defined functions can be used to enhance database functionality.
ƒ New data types bigint, sql_variant and table (temporary storage of result sets).
ƒ Full-text search now includes change tracking and image filtering.
‰ Business Intelligence
ƒ Multiphase Data Pump.
ƒ Parameterized Queries.
ƒ Integration of data mining functionality into Analysis Server.
ƒ New cube types and enhanced cube functionality
ƒ New dimension and hierarchy types and features
‰ Application development
ƒ Instead-of and after triggers.
ƒ Cascading referential integrity constraints.
‰ Security
ƒ Kerberos authentication support

SQL Server 2000 has been available for years and Microsoft is working on a new release called
SQL Server 2005 (codename Yukon). Yukon Beta 2 was released in July 2004, and Yukon Beta 3
is expected by year-end 2004. Latest statements from Microsoft say the final version is now
expected for end of summer 2005. This major release focuses on:
‰ Deeper integration with .NET and Microsoft developer tools
‰ Common Language Runtime (CLR) embedded inside the database engine
‰ Building an end-to-end business intelligence platform with integrated ETL, reporting, online
analytical processing and data mining
‰ Integration Services, formerly known as Data Transformation Services (DTS) revamped and
renamed to SQL Server 2005 Integration Services
‰ Availability enhancements
‰ Online index operations
‰ Database mirroring
‰ Database snapshots (read-only copy)
‰ Manageability enhancements
‰ SQL Server Management Studio (previously SQL Server Workbench) combines Query
Analyzer with Enterprise Manager and Analysis Manager
‰ Interoperability enhancements

4.2 Mobile Computing

When referring to mobile computing and databases, 2 very different implementation environments
might be addressed:
‰ Applications running on laptops often both in connected and disconnected mode

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 15


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

‰ Applications running on a PDA/Handheld that occasionally connect to a server to synchronize


data
While in a laptop environment database needs can be addressed by the personal edition flavors of
the DBMS in question, but a PDA entails other challenges. The common characteristics of
handheld devices are low processing power, as well as limits in storage, battery life and
communication capabilities, and they tend to be very heterogeneous concerning hardware and
operating systems. These devices require a different level of database product.
In both cases, an integrated database can contain contacts, calendar and volatile information such
as maps, restaurant lists, and train schedules. This is data that usually only resides on the local
device, there is no need for exchange with a server. Other data requirements may be for extracts
of a corporate database, such as customer or product data. In many cases, this data will be
presented to the user by the individual application – perhaps the same or similar application the
user is familiar with when using in a connected environment. From a database perspective, this
mainly involves data synchronization as well as support for adequate application development
environments.
Databases in support of mobile users and devices must comply with the following requirements
(these apply to handhelds, laptops or both):
‰ Small footprint: Minimum memory and storage consumption (handheld),
‰ Portability: Hardware and software platforms that mobile devices are based upon differ widely,
in need for truly portable solutions (handheld),
‰ Secure host communication (handheld and laptop),
‰ Synchronization capabilities: Mobile devices are usually used offline; sophisticated capabilities
must enable synchronization with a server on connection when reattached to the network
handheld and laptop),
‰ Remote management: Manage mobile, disconnected clients from a central administration point
(handheld and laptop) and
‰ Minimum Administration.

Personal Editions of DB2, Oracle and SQL Server are available in support of single-user
environments, i.e. on a laptop. They are basically the same products as discussed in this paper,
but are licensed for single-user use (with or without connectivity to a database server). Remote
server management and replication facilities apply to this environment as previously discussed.
Additionally, IBM, Oracle and Microsoft also offer special versions of their databases for handheld
devices:
‰ DB2 Everyplace Database is the small footprint database from DB2 running on Palm OS,
Symbian OS, MS Windows CE / PocketPC, Win32, QNX Neutrino and embedded Linux; DB2
Everyplace Sync Server is the host component for handling of the synchronization and
management needs.
‰ Oracle10g Lite is Oracle’s DBMS for handheld devices based on Palm OS, Windows CE,
Symbian, Win32 and Linux. The Mobile Server is an extension to Oracle10g Application Server
that handles user, group, site management and synchronization with host databases.
‰ SQL Server CE Edition is Microsoft’s small footprint database for Windows CE
Due to the very special requirements on handheld devices, these DBMS’ are different code bases
than their Personal Edition counterparts. Following, we will provide a listing of interesting specifics
we found with relevance to the 3 products. However, a rating for the databases in question is
beyond the scope of this paper.
‰ SQL Server only supports devices running Windows CE – DB2 and Oracle also support other
device platforms.
‰ About 200KB code footprint (minimum) of DB2’s Everyplace Database is the smallest in the
comparison.
‰ SQL Server and Oracle limit the database size to 2 GB; DB2’s biggest table can be 4 GB
‰ Network encryption and compression are supported in all three environments; DB2 supports
table encryption on the device, Oracle and SQL Server support database encryption.
‰ DB2 Everyplace comes in three editions:

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 16


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ DB2 Everyplace Database Edition has no synchronization middleware to extend data to


backend servers. It is used for applications that require an embedded database.
ƒ DB2 Everyplace Enterprise Edition provides customers with an unlimited number of DB2
Everyplace database engines to deploy on their mobile devices for synchronization, and
the accompanying DB2 Synchronization Server.
ƒ DB2 Everyplace Express Edition is a member of the IBM Express family. It was developed
on the same code base as DB2 Everyplace Enterprise Edition. It is designed as an entry
point for Mobility on Demand.
‰ DB2 Mobility on Demand is a new option for enabling mobile computing. IBM introduced it in
V8.1.4. It is the combination of DB2 Everyplace mobile database and the DB2 Everyplace
Synchronization Server. This feature is available with any DB2 server.
‰ DB2’s 3-tier replication architecture for Everyplace separates the mobile devices from the
actual source server by a Synchronization Server. This provides strong security as well as
gives the administrator the greatest control over the impact on existing Source Server systems
and eliminates the need for the source server to be available when a mobile device connects.
‰ Oracle utilizes Materialized View technology for replication in a Lite environment. The Server
maintains special queues/views holding relevant changes for every Lite user.
‰ SQL Server’s replication has a similar architecture as in a normal Windows environment, but
with some specialized enhancements.
‰ All competitors deliver sophisticated replication and conflict resolution features.
‰ The synchronization in Oracle and SQL Server environments can be done via http over the
web.
‰ By default, DB2 Everyplace performs reorganization of table data automatically based on
simple statistics monitored by the DB2 Everyplace DB engine, thus negating any need for
administration on the device (but can also be done manually if desired).
‰ DB2’s Synchronization Server can control table creation, index creation, and default values
from the server side and manage software versions on mobile clients. No end user
administration is required at the mobile device.
‰ Additionally, the DB2 Sync Server supports synchronizing data with any JDBC-compliant
database (the DB2 family, Informix, Cloudscape, Oracle, SQL Server, Sybase Adaptive Server
Enterprise).
‰ DB2 delivers advanced management support (users / groups / sites) with XML scripting tool.
‰ Oracle Mobile Server, an extension to Oracle10g AS, supports user / group / site / application
management for mobile clients. Oracle delivers packaging support for mobile applications.
‰ Oracle’s WebToGo-features allow for building on- and offline web applications on the handheld
device – this feature is supported by a small handheld web server.
‰ Specialized application development tools are delivered with each DBMS – SQL Server only
supports MS visual languages (Visual C++, Visual Basic); DB2 supports C/C++, Java, Visual
Basic and Java Server Pages; Oracle supports C/C++, Java and ActiveX in Windows CE
environments.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 17


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

4.3 Linux Support

Both DB2 UDB and Oracle provide support for Linux; however SQL Server does not run on Linux.
The areas that we have looked at that are specific to the Linux environment are the following:
‰ Platforms
‰ Integrated solutions
‰ Product availability
‰ Kernel support
‰ Integration with Open Source projects
‰ Linux special architecture (clusters and high availability)

Platforms
Platforms
Distributions X86 X86_64 IA64 POWER zSeries
AMD64 EM64T
32- 32- 64- 32- 64- 64- 32- 64- 31- 64-
bit bit bit bit bit bit bit bit bit bit
Red Hat Advanced Or
Server 2.1
Red Hat Enterprise Or
Server 2.1
Red Hat Enterprise D,Or D,Or D,Or D,Or D,Or D D D D D,
Linux Or
5
(RHEL AS/ES)3
SuSE Linux Enterprise D,Or D,Or D,Or D,Or D D D D,
Server (SLES) 8 Or

SuSE Linux Enterprise D,Or D,Or D,Or D,Or D,Or D,Or D D D D,


Server (SLES) 9 Or

Red Flag DC Server Or


4.0 (China only)

Miracle Linux Or
Standard Edition 2.1
(Japan only)
Asianux 1.0 Or

In the above table, “D” represents DB2 UDB V8.2, and “Or” represents Oracle 10g. Note that DB2
UDB V8.2 also supports RHEL 3 WS Edition for workstation clients.
IBM’s system requirements include (but are not limited to) the following points:
ƒ x86 requires Intel Pentium 4 or higher, Intel Xeon, or AMD Athlon based systems;
ƒ x86-64 requires Intel EM64T or AMD64 based systems;
ƒ POWER requires IBM eServer OpenPower, iSeries, or pSeries systems that support Linux;

5
DB2 also supports RHEL WS for workstation clients.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 18


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ IA64 requires Intel Itanium 2 based systems;


ƒ S/390 and zSeries requires S/390 and zSeries systems that support Linux

It is worth noting that in previous versions of DB2 UDB, there were many more validated Linux
distributions. However, IBM is moving towards only supporting enterprise-level Linux distributions
from V8.2 onwards. So, products such as SuSE Linux Pro (which was supported in DB2 UDB
V8.1) are not officially supported by IBM in DB2 UDB V8.2. However, customers who are on V8.1
can install Fixpack7 (aka V8.2), and still be supported by IBM.
Oracle does not install on Linux distributions other than those officially supported. DB2 UDB, on the
other hand, will install on non-supported Linux distributions (SuSE Linux Pro for example), even
though the particular distribution is not supported by IBM.

Integrated Solutions / Packages / Distributions


Integrated Cluster Environment (ICE) is an IBM solution offering which is a blueprint for deploying
DB2 Linux clusters. It is an integrated pre-configured, pre-tested solution that incorporates
hardware, software and services. It provides a system that can scale from 2 to 1000 nodes.
The core solution is based on IBM DB2 Universal Database and IBM Linux Cluster 1350. The other
components in a DB2 Integrated Cluster Environment can include (but not limited to):
ƒ IBM Tivoli System Automation software
ƒ IBM WebSphere Application Server
ƒ IBM TotalStorage
ƒ IBM Global Services
ƒ SUSE or Red Hat Linux
ƒ InfiniBand products from Mellanox, TopSpin, and Voltaire

Oracle does not have a similar packaged solution on offer.


Product Availability
DB2 on Linux is the same product as on Windows and UNIX. The following DB2 Editions are
available on Linux:
ƒ DB2 UDB Enterprise Server Edition V8.2 (with Database Partitioning Feature)
ƒ DB2 UDB Workgroup Server Unlimited Edition V8.2
ƒ DB2 UDB Workgroup Server Edition V8.2
ƒ DB2 UDB Personal Edition V8.2
ƒ DB2 UDB Universal Developer's Edition V8.2
ƒ DB2 UDB Personal Developer's Edition V8.2
ƒ DB2 UDB Express Edition V8.2
ƒ DB2 Connect V8.2 -- all editions

The following DB2 components are available on Linux:


ƒ DB2 Net Search Extender V8.2 on Linux on Intel x86 (32-bit) machines (it replaces DB2 Text
Information Extender V7.2 and Net Search Extender V7.2)
ƒ DB2 Spatial Extender V8
ƒ DB2 Geodetic Extender
ƒ DB2 XML Extender V8.2
ƒ Query Patroller

The following DB2 components are not available on Linux:


ƒ Data Links Manager
ƒ DB2 Warehouse Manager has support for a Linux agent; however, the Warehouse Server
component is not available on Linux (it is only available on Windows and AIX)

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 19


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ DB2 Audio, Image, and Video Extenders


ƒ DB2 Text Extender V8.1

Oracle Database on Linux is the same product as on Windows, UNIX and any other platform on
which Oracle Database is available.
The following Oracle products are available on Linux:
ƒ Oracle Database 10g with Real Application Clusters
ƒ Oracle Application Server 10g
ƒ Oracle Collaboration Suite
ƒ Oracle Developer Suite 10g
ƒ Oracle E-Business Suite

Kernel Support
Both IBM and Oracle are working closely with teams from the major Linux distributors to ensure
that their database products support the latest features in the Linux enterprise-class distributions.
This should lead to greater acceptance of the Linux operating environment in large corporations.
Support for 2.6 Kernel
The 2.6 kernel has many new features for improving the scalability, performance and reliability of
Linux. For example, the pre-emptable kernel can more efficiently handle system-intensive tasks
such as heavy I/O loads. There is also improved memory sharing for large SMP systems. There is
high-performance threading support for multi-threaded applications using the Native POSIX
Threading Library (NPTL).
SuSE Linux Enterprise 9 (SLES9) is based on the 2.6 kernel and is available now. Red Hat
Enterprise Linux 3 (RHEL3) has retroactively incorporated many 2.6 features into the 2.4 kernel.
Red Hat Enterprise Linux 4 (RHEL4) with 2.6 kernel support will be available in 2005.
Both Oracle 10g and DB2 UDB V8.2 currently support the 2.6 kernel in SLES9, and both IBM and
Oracle are working with Red Hat to ensure their respective products work with RHEL4 as soon as it
becomes available. Main benefits are performance and SMP scalability improvements.
Asynchronous I/O (AIO)
Without Asynchronous I/O (AIO), disk I/O requests are processed synchronously (i.e. the process
waits for the I/O request to complete prior to proceeding with the next task). With AIO, the
processes can carry on with other tasks whilst I/O requests are in progress. Also, multiple I/O
requests can be submitted with one system call. AIO is only used for write operations.
DB2 UDB uses page cleaner processes to clean up the buffer pool by writing out dirty pages to
disk (dirty pages contain data that has been changed but not yet been written to disk). With AIO,
DB2 UDB page cleaners submit a set of pages to be written to disk, and then scan for other buffer
pool pages to be written out.
Oracle 10g also has support for Asynchronous I/O. The database writer process writes data buffers
modified in memory to the data files of the database, using a least recently used (LRU) algorithm.
The database writer process manages the buffer cache so that user processes that read blocks
from disk into cache can always find free buffers. For high I/O throughput, sufficient numbers of
database buffers need to be kept free for new operations. With AIO, this throughput can be more
easily achieved since the database writer processes can continue working, as they are not
dependent on the completion of a given write.
For OLTP applications there can be a high number of modified database buffers in the buffer cache
that need to be written to disk quickly. With AIO, these buffers can be written to disk as quickly as
possible. This results in a performance benefit due to more efficient CPU and device utilization.
This benefit applies both to Oracle 10g and to DB2 UDB V8.2.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 20


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

In Oracle 10g, Asynchronous I/O can be used on RAWIO, EXT2, EXT3, REISERFS file systems.
Presently, Asynchronous I/O is not available for the Oracle Clustered File System (OCFS) because
the Linux kernel does not expose the API. AIO is not supported on NFS.
Direct I/O
Direct I/O is an alternative caching policy for Linux file systems. When a file is opened using the
O_DIRECT flag, the operating system transfers the data directly from the file on disk to the
application’s memory buffers, and avoids caching the data within the file system’s cache.
The default policy for DB2 UDB V8.2 is to use file system caching, which means that all I/O
operations are performed in buffered mode. This incurs an overhead of making an extra copy of
the buffer from disk to file cache (for a read operation) or from file cache to disk (for a write
operation). Direct I/O must be explicitly enabled in DB2; once enabled, it allows I/O directly
between DB2 buffer pools and disk. Direct I/O can improve throughput for SMS tablespaces and
for DMS file container tablespaces. DMS device container tablespaces already eliminate file
system cache, so Direct I/O has no effect.
Oracle 10g also has support for Direct I/O. Oracle employs the O_DIRECT flag for I/O involving
ext2 and ext3 file systems. Oracle’s Cluster File System (OCFS) supports direct writes. Recovery
manager (RMAN) writes in O_DIRECT mode by default.
For both Oracle 10g and DB2 UDB V8.2, system I/O performance will improve owing to less
contention with database-related I/O. In addition, CPU and memory utilization will be reduced.
Vector I/O
Vector I/O (also known as scatter/gather I/O) allows a vector of I/O buffers to be used instead of
one contiguous buffer for staging data for the bufferpool. For table scans without using vector I/O,
DB2 prefetchers had to move data into a temporary buffer and then copy it to the buffer pool
pages. Now, with vector I/O, DB2 prefetchers move data directly into the buffer pool pages. Vector
I/O must be explicitly enabled by DB2. The main benefit is in avoiding expensive memory copies.
BI-type applications benefit most from this feature. DB2 also has blocked based buffer pools to
optimize big block I/O.
Oracle 10g does not use vector I/O.
Large Pages
Large pages reduce the overhead of mapping memory in the system. Linux maps virtual memory
to physical memory to meet the memory requirements of each process. This mapping is called
address translation. A buffer of recently translated addresses, called the Translation Lookaside
Buffer (TLB), is used to speed up the mapping. When an address translation is requested, the TLB
is checked first to see if the address is found there. If the address is not found in the TLB (a TLB
miss), then the kernel must take more time performing the actual translation. With large page
support, there are more entries on each TLB page, which results in fewer TLB misses.
DB2 UDB V8.2 supports large pages, and can use 4 MB pages instead of 4 KB pages on the 2.6
kernel. Large page support needs to be enabled in the operating system first, and subsequently
enabled in DB2.
Oracle 10g has a new feature called Huge TLB pages, which allows applications to benefit from
using large pages.
The benefit of fewer TLB misses is increased performance. The fact that fewer pages are required
reduces the page table size, which improves memory utilization. Freed up memory can then be
used for buffer pools.
Additional system performance benefits accrue with large pages, because the memory is not
swapped.
The benefits of large pages apply to both Oracle 10g and to DB2 UDB V8.2.
Processor Affinity

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 21


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Processor affinity refers to binding a process or a set of processes to a CPU (or to a group of
CPU’s). The binding overrides the system’s built-in scheduler to force a process to run on specified
CPU’s. It can provide performance gains in SMP and NUMA environments. This is because it is
more likely that the CPU’s cache will contain data for the process bound to that CPU.
DB2 UDB V8.2 can take advantage of processor affinity, by defining an XML-based text file called
a resource affinity configuration file. However, this is an advanced tuning feature that involves a
degree of experimentation to determine if a particular workload will benefit from processor affinity.
In fact, most Intel/AMD Linux customers are using 1 or 2-way servers, so this feature does not
enter into their decision-making process. Processor affinity will most likely benefit environments
such as pLinux on a large SMP server.
Oracle 10g does not have a processor affinity feature.
Pinning Memory
Swapping buffer pools out from memory to disk can be expensive. Pinning memory avoids this
swapping out. DB2 UDB V8.2 can enable pinned memory which will keep the buffer pools in
system memory. Pinned memory must be explicitly enabled by DB2. The reduction of disk I/O by
having bufferpools in system memory improves database performance.
Oracle 10g does not have an explicit pinned memory capability for Linux.
Large Memory Support
Red Hat Enterprise Linux 3.0 includes a new kernel known as the hugemem kernel. This kernel
supports a 4GB per process user space (versus 3GB for the other kernels), and a 4GB direct
kernel space. Using this kernel allows Red Hat Enterprise Linux to run on systems with up to 64GB
of main memory. The hugemem kernel is required in order to use all the memory in system
configurations containing more than 16GB of memory. The hugemem kernel can also benefit
configurations running with less memory (if running an application that could benefit from the larger
per process user space, for example.)
Oracle has a Very Large Memory (VLM) option which enables systems with up to 64GB of RAM to
use up to 64GB pagecache on 32-bit systems.
Oracle 10g supports VLM, which allows the creation of a database and memory space that’s larger
than what a 32-bit system can address in one address space. This is done through the use of a
shared file system.
With pure 64-bit systems, such as SuSE Linux Enterprise Server 9, DB2 UDB can take full
advantage of the larger memory addressability for larger bufferpools and internal heaps.
CPU
In previous versions Oracle limited Linux SMP systems to 4 processors. Now, with Oracle 10g, this
limitation has now been lifted. In DB2 also, there is no limit on the number of processors supported.
In reality, though, most customers have systems with up to 4 CPU’s.

Integration with Open Source Projects


DB2 UDB V8.2 supports application development environments such as PHP, Perl and Python.
Each of these languages has a programming interface that provides ways of submitting SQL
statements to DB2.
Perl is a scripting language, often used as Common Gateway Interface (CGI) language for Web
Servers. It has a Database Interface (DBI) which provides a standard interface for accessing the
DB2 Database Driver. PHP (Hypertext Processor) is a server-side scripting language for creating
Web content. It defines a set of database API’s (the unified ODBC functions) that provide a layer of
abstraction to access the underlying database, but which use the native methods of the database
to maximize performance. Python is an object-oriented scripting language. For Python, DB2
support is provided by the “import” statement. The Python DB-API specification defines how to

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 22


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

connect to a relational database such as DB2. The httpd.conf file within the Apache Web Server
can be configured to use either Perl, PHP or Python.
In addition to supporting the above application development environments, IBM supports other
Open Source projects. For example, in 2001, IBM contributed $40m worth of tools to the Eclipse
Open Source project. Eclipse is an open, universal tool platform or tool base. It uses a plug-in
architecture which allows extensions to the base IDE (integrated development environment). It is
written in Java, and runs on both Linux and Windows.
IBM has also open-sourced the Cloudscape embedded Java database it acquired when it bought
Informix. IBM valued its contribution at $85 million, which was the price Informix paid when it
acquired Cloudscape in September 1999. IBM has given half-a-million lines of Derby, the current
version of Cloudscape to the Apache Software Foundation.
Oracle is actively supporting the Open Source community by contributing source code for products
like Oracle Cluster File System (OCFS), to drive development of the Linux operating system.
So, we see that Oracle and IBM are engaged in different areas within the Open Source community.
Both vendors provide support for their databases to use the popular scripting languages. IBM is
very much engaged in the application development arena with its involvement in Eclipse and
Cloudscape. Oracle on the other hand is also heavily involved with its contribution of an Open
Source cluster file system (OCFS).

Linux Special Architecture (Clusters and high availability)


DB2 UDB V8.2 includes the High Availability Disaster Recovery (HADR) feature (which is not
unique to Linux). On Linux, the high availability software that can be used with DB2 UDB is:
‰ Steeleye Lifekeeper
‰ Veritas Cluster Server
‰ Legato Cluster
‰ Tivoli Automation for Linux
‰ Mission Critical Linux
‰ Convolo Cluster Datagard Edition
‰ Open Source: Linux Heartbeat

For automated failover, the Heartbeat software from the Linux High Availability (Linux HA) Open
Source project can be used. The goal of Linux HA is to configure the system so that the workload
can be taken over by the secondary node when a failure occurs on the primary node. The
components of Linux HA that need to be installed and configured are:
‰ Heartbeat - the component which prepares the environment for the constituent nodes of the
cluster to communicate with each other for detecting node or daemon failures and for
reconfiguring the system appropriately
‰ Drbd (distributed replicated block device) - the component which performs the data
synchronization between the nodes in the cluster

IBM Tivoli System Automation for Linux (ITSAL) offers high availability for Linux applications
through policy-based self-healing. It complements HADR in a Linux environment by automating
takeover and resource management in a disaster recovery situation. HADR is available as part of
DB2 UDB Enterprise Server Edition at no extra charge.
On the Oracle side, Cluster Ready Services (CRS) provides Oracle 10g RAC high availability
components to manage the cluster. CRS is available in both Linux and non-Linux environments. In
non-Linux environments, CRS components interact with 3rd party vendor software to co-ordinate
cluster membership information. As for Oracle 10g RAC on Linux, 3rd party vendor clusterware can
co-exist with the Oracle clusterware, but it is redundant. CRS is always required on Linux, since
only the Oracle clusterware can be used to run the RAC cluster. It can be centrally managed by
Oracle Enterprise Manager, which has the same user interface on all platforms.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 23


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

For heartbeat detection in Oracle 10g, the usage of the Linux watchdog daemon has been
replaced by the hangcheck-timer Linux kernel module. This module monitors the Linux kernel for
extended operating system time-outs that could affect the reliability of a RAC node and cause a
database corruption. If a lengthy time-out occurs, the module reboots the node.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 24


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

5 Comparison
Comparing DBMS’ is generally not a simple task because:
‰ Functionality and complexity of databases is very broad and an in-depth comparison therefore
extremely time consuming,
‰ The value of some features can only be judged by practical experience, deployment and
benchmarking (i.e. performance impact),
‰ A comparison on a feature level is difficult due to the potentially different implementation depth
and general differences in architectural approach and product philosophy,
‰ Detailed features very often can not be compared directly.
As described in chapter “Scope”, 14 major areas were identified as relevant in the evaluation of
database technology. Each of these is discussed following in a dedicated chapter. The reader will
not find a complete listing of all relevant product features. The authors have concentrated on
delivering the most significant strengths and differentiators of the database products in question.
At the end of each chapter, first, second and third places will be designated for the category. Be
aware that these placements can be close together.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 25


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

5.1 Scalability
Scalability is the capacity of a DBMS to meet increasing requirements in the areas of
‰ Number of users
‰ Data volume
‰ Transaction volume and complexity
When the database has been designed for scalability, scalability may not affect application design
and not lead to changes in application code or scheduling, so remain as transparent as possible.
The scalability should be granular. This means that small steps are possible, so you might want to
start on windows with adding CPUs of a small size and as time goes by port to UNIX with larger
processors, and then even further to 64 bit, all gradually and without affect on the applications.
Alternatively, perhaps start on Linux, or start on a single Linux blade server and grow by adding
servers.
Increases in workload often are caused by business factors. When exploring new initiatives, you
will perhaps prefer a “think big, start small” approach. Once your e-business picks up you will need
to add power to your infrastructure to handle the additional transaction load. Business Intelligence
applications often need scalability because of growing data volumes due to the collection of
historical data. In general, scalability is a necessity as the business grows over time, partly to
secure the investment made in the applications. To adapt to increasing workloads, you will
consider replacement or modifications to
‰ hardware,
‰ operating system or
‰ database configuration and design.
What factors affect scalability? These can differ depending on the type of application. OLTP
systems require different DBMS features than BI applications to achieve scalability. While adding
power for growing BI query complexity means scaling intra-query parallelism (perhaps across
additional nodes with inter-partition parallelism), reaching higher “transactions per minute” in an
OLTP environment mainly calls for additional processors to execute more transactions at the same
time (inter-query parallelism). Effective data distribution in favor of scalability also means
something different depending on the application. For BI, you will want to achieve an optimal data
balancing in support of maximum query parallelism. Scalability for OLTP calls for optimal read and
write access to individual data rows to achieve maximum concurrency amongst increasing number
of transactions.
In search of an optimal architecture for your transaction requirements, you will encounter different
alternatives. Distribution of tasks to physical processors is, in the first instance, managed by the
operating system. The DBMS can itself, however, support parallelism by generating sub-tasks for
the operating system to distribute. The use of SMP6 and MPP7, alone or in combination, has to be
considered. Clustered MPP DBMS implementations can be based on a Shared-Nothing or
Shared-Disk approach8. Each approach has its own pros and cons, which need to be weighed
depending on the application type you need to support. When considering clusters and MPP, you
will need to take into account the additional costs and management complexity. In most cases, a
SMP solution will address OLTP requirements most appropriately, although restricted to a single
server. Scaling for higher transaction load will then mainly involve adding processors and memory
to a physical machine. Cluster based MPP will usually work well for complex queries in BI

6
SMP "symmetric multi-processing", where one single node can make use of several physical
processors
7
MPP "massive parallel processing". MPP combines various physical nodes to form a cluster
which will be a single logical node in the eyes of the application
8
In a Shared-Nothing architecture, each node owns and manages its own resources, including the
data it has access to and the DB cache. In a Shared-Disk architecture, the data is shared by all
the nodes. Cache is usually shared, in need for cache coordination among the nodes.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 26


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

application environments. In this case, scaling for higher parallelism or growing data volumes will
be somewhat more complex.
All DBMSs in this review have found answers to these issues. SMP parallelism is supported by all
three DB vendors. It is worth noting that only two of them, DB2 with its Shared-Nothing and Oracle
with its Shared-Disk architecture, recognize the existence of clusters for MPP scalability. SQL
Server supports federated databases: These can be used to implement a quasi-clustered
database environment in which the databases are loosely clustered. Both Oracle and DB2 support
the same database designs (using UNION-ALL views) on top of their cluster capabilities.
If users exploit the ability of their system's DBMS to partition data, they can make their application
more parallel. Partitioning the data allows it to be physically distributed in such a way that
parallelism is increased, performance boosted and - in some cases - concurrency maximized. The
choice of a partitioning tactic will fall between alternatives determined by the expected workload. It
will either be an intra-query directed tactic or an inter-query directed one. Intra-query tactics look
for an optimal spread of data in support of highly parallelized queries i.e. for BI application. Inter-
query tactics want to use a value-based, grouped distribution of data so as to achieve autonomy
within a partition. This is most commonly used in support of OLTP, although also applicable to BI.
When the DBMS is SQL Server, the affect of partitions can be obtained, but only by using a user-
mediated technique. The user must define federated databases so that the data is distributed
through ordered value. Unfortunately, this results in access overhead due to use of the OLE DB
API (for remote access). Care must be taken that queries have predicates that limit the processing
to a single node. It also complicates the management of database instances. Changes to the
database layout necessitate changes to the “union-all” views, needed to route and manage the
federated databases, and may not be transparent to the application. Although SQL Server
supports relational OLAP storage, no specific clustering method is offered. However, a cube
(relational, multidimensional or hybrid) can be logically partitioned, e.g. along the time dimension.
Individual partitions may reside on a remote server, which leads to distribution of aggregates with
or without source data depending on storage type (ROLAP, MOLAP, HOLAP). When adding
hardware power to a SQL Server 2000 server, it is possible to make very granular extensions, but
you are restricted to hardware in support of the Windows OS.
Both DB2 and Oracle support physical partitioning of table data for use in SMP and MPP
implementations. Oracle’s Partitioning Option9 offers range, list, hash and composite partitioning.
While range and list partitioning can positively affect OLTP with large volumes of data, range type
queries and support fast roll-in/roll-out of data (i.e. adding new months of data and deleting old
months), hash partitioning boosts parallelism on complex queries and large data volumes. With
composite partitioning, you can combine range with list or hash techniques. New in 10g is the
ability to partition data stored with Oracle’s OLAP Option, enabling parallelism and allowing more
efficient utilization of hardware resource in support of large dimensional data sets.
DB2 supports MDC10 out of the box, a technique that allows physical ordering of data in support of
range scans. MDC enables a table to be physically clustered on more than one key, or dimension,
simultaneously. Additionally, MDC introduces indexes that are block-based, which point to blocks
or groups of records instead of to individual records. This addresses all of the drawbacks of
clustering indexes, and provides performance benefits due to the drastically smaller size than
regular, record-based indexes. An MDC table is able to maintain and guarantee its clustering over
all dimensions automatically and continuously. This eliminates the need to reorganize, and
provides performance and manageability advantages over the range and list partitioning features in
Oracle. Further range and list partitioning can be achieved in DB2 with physically separate tables,
loosely coupled with Union All Views: these are, from V8.1 and up, fully updateable.
The chief purpose of DB2's Shared-Nothing architecture (for MPP clusters) is to efficiently allow a
database to grow beyond the capabilities of a single server, and to scale up linearly within a large
SMP server for some workloads that benefit from the shared nothing architecture. This approach

9
Oracle’s Partitioning option is a priced option
10
MDC Multi Dimensional Clustering

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 27


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

was chosen to address the lacking of a hardware assisted distributed locking mechanism (like the
coupling facility on OS/390) in Linux, UNIX and Windows environments. MPP clusters are typically
used to execute complex decision-support queries on large data volumes. The DPF11 uses a
hashing algorithm to distribute data to partitions. The DBA is responsible for definition of the
partitioning key, but the DBMS assigns the physical distribution of individual rows. In general it
achieves an even spread of the physical data. Unless it is processing collocated data12, a join
within large tables requires cross-partition communication via TCP/IP. Trans-partition redundancy
(with replicated tables based on DB2's MQT13 technology) is often used to reduce cross-partition
traffic for lookup type tables. Hashing can sometimes conflict with sequence or sort order
requirements for pre-built packaged applications. When using the DB2 DPF, the DBA is must
expend extra effort for individual partitions although many activities can be managed from one
central partition. DB2 v8.2 Design Advisor now assists in designing optimal partitioning based on
your workload. DB2’s shared nothing architecture supports very granular extensions due to its
ability to run on combinations of hardware and of operating systems.
Oracle9i's RAC14 supports cross-node synchronization of data access and modification (typical
within a Shared-Disk). RAC is necessary
‰ when MPP is wanted in a clustered environment or
‰ when high availability requirements apply.
In the case of read/write transactions, inter-node record locking communication can impair
scalability. This is primarily why Oracle Parallel Server (OPS) was rewritten to the new RAC
architecture, introduced with Oracle9i. However, Oracle recommends the use of homogeneous
hardware in a cluster configuration and points to configurations that have been certified for use with
RAC databases. In a high-transaction-load OLTP environment you can reduce RAC overhead by
considering application partitioning. However, this can sometimes incur database and application
redesign costs when scaling to higher requirements. Customers have been hesitant to adopt RAC.
It seems that in most cases, a decision for RAC is based on high availability requirements. RAC
fails to deliver (near-) linear scalability: practical experiences show decreasing performance gains
when adding additional nodes to the cluster (i.e. 2nd node adds 80% more power, 4th node adds
51%, and 8th node 21%).
Most TPC performance benchmarks are not directly comparable and therefore not suited for
measuring scalability. This is because vendors rarely run TPC benchmarks on identical hardware
with varying numbers of CPUs. Similarly, no two vendors run identical hardware benchmarks with
two different RDBMS engines. Consequently, most TPC tests do not provide the scalability
comparisons desired. A benchmark by IBM took a 1 node 24-way system with 500 GB of data and
compared this with its doubled counterpart, a 2 node 24-way each with 500GB of data, or a total of
1 TB of data. It was stated that overall scalability had exceeded 95%. DB2 can support 1000
nodes in a cluster with several customers running over 100 nodes today in production.15
DB2 and Oracle can offer significant scalability to terabyte class databases and more than eight
CPUs per configuration. SQL Server falls behind these configurations averaging 4-way SMP

11
DPF Database Partitioning Feature, a priced option
12
“Collocation is the placement of rows from different tables that contain related data in the same
database partition. … Tables are considered collocated if they reside in a multi-partition database
partition group, have the same number of columns in the partitioning key, and if the data types of
the corresponding columns are partition compatible. Rows in collocated tables with the same
partitioning key value are placed on the same database partition.” (Source: IBM DB2 UDB
“Administration Guide: Planning”)
13
Materialized Query Tables
14
RAC Real Application Clusters, a priced option
15
Readers can turn to www.tpc.org for the latest benchmarks. While TPC benchmarks are mainly
run for performance, consider comparing the underlying HW infrastructure of related results to
judge scalability.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 28


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

servers and less than 500GB in database size. Despite the introduction of larger Intel-based
SMPs, there is little evidence of significant deployments. Its weakness consists in its inability to
provide true clustered databases (mainly for BI). Microsoft emulates a clustered database by using
federated databases and UNION ALL views. However, this solution does not really favor
scalability. Oracle’s partitioning options support both OLTP and BI database requirements, while
RAC clusters are mainly used for high availability. DB2 scales very well for OLTP with an SMP
architecture, as recently demonstrated in a TPC-C benchmark16. DB2’s shared-nothing clusters
are predominantly used for large-scale data warehouses17. According to Survey.Com’s18 report on
high end data warehouses, “Oracle warehouses and marts tend toward smaller disk configurations
with an average size of 2.6 TB. Oracle implementations are below 250 GB 25% of the time with
limited presence above 10 TB. IBM installations post more than 10% of customers above 20 TB.
The DB2 ESE with DPF19 average size is 6.0 TB20.”
In any case, scalability will not only be an issue of the DBMS. Database design is a central factor
in managing load. It needs to service the application requirements. The larger the volume of
transactions and data, the more complex the queries, the more important design decisions
become. None of the DBMS features reviewed can relieve the DBA of careful database design
and modification of this design as the database scales. This is independent of the architecture
chosen. In general, clustered systems can incur additional design and administration costs versus
SMPs. This can apply to both a shared-nothing and a shared-disk implementation. However, this
may be necessary to serve the levels of scalability required.
In summary, we see DB2 ahead of Oracle relative to high-end scalability; SQL Server fails to meet
scalability requirements beyond SMB.

5.2 Performance
From the user’s point of view, performance is one of the most important aspects when working with
database content. A rudimentary requirement for relational database systems is to allow an
application to formulate “what” information it needs or modifies, but not tell the DBMS “how”. The
database itself is responsible for determining the best strategy to access the data. It is up to the
database and not the user to be concerned with performance. This requirement becomes even
more significant in the light of ever growing data volumes and a large number of packaged
applications (both OLTP and BI) that are used, where tuning at the application level is not possible.
With that in mind, it becomes obvious that a DBMS must have a number of features to support
high-speed data access. It must possess a significant level of intelligence and heuristics to
determine an optimal access strategy out of the numerous available options, which is most
favorable for the current request at execution time.
The physical organization of data21 and indexes in support of different access methods is basic
for good performance. As data volumes and access complexity rise, relief for repeating,
computation-intensive functions, i.e. aggregations or complex joins have likewise become

16
DB2 Universal Database v8.2 on eServer p5 595 64p (AIX) 4 nodes each with 4 POWER5
1.9GHz; 3,210,540 tpmC; 5.19 US $/tpmC; Availability 12/15/04 (www.tpc.org)
17
Scalability requirements of the majority of OLTP applications can be sufficiently addressed with a
single SMP.
18
Survey.Com, Business Intelligence & Data Warehousing High End Competitive Analysis Report
2002, August 2002
19
DB2 ESE (Enterprise Server Edition) with the DPF Option is equal to the product formerly named
DB2 EEE (Enterprise Extended Edition)
20
The report compares DB2 and Oracle with NCR’s Teradata, here the average is at 6.5 TB
21
Table data partitioning options and their ability to support parallel execution have been discussed
in the previous chapter on “Scalability” and will not be repeated here.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 29


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

indispensable. With IT systems continuously allowing growing groups of users ad hoc access to
even faster growing, large data volumes over the web, the importance of fine-grained data access
security grows as well – but mustn’t add significant overhead for query processing. Packaged
applications with little knowledge of the physical schema representation often send poorly written,
perhaps machine generated SQL to the database. Here, DBMS query rewrite capabilities can
make the difference in well or poorly performing database inquiries. Last but not least, providing
in-depth knowledge (metadata) about database objects in support of intelligent optimization is key
to providing optimal response times while leaving the aspects of “how” to the database manager.
Similar to scalability, features in support of good performance can vary depending on the type of
application. While in OLTP, fast and direct, read/write access to single rows in support of
maximum concurrency is key, BI applications desire highly parallel processing in support of read-
mostly, complex queries processing large amounts of data. Packaged applications impose
features allowing for performance tuning in concert with application-specific implementations, i.e.
informational metadata and application-maintained summary tables.
DB2’s architecture provides the best-suited overall architecture for high-performance application
requirements. For MPP, Shared-Nothing enables the highest degree of parallelism and is very
advantageous for BI applications. For OLTP applications, the SMP hardware architecture appears
to have performance advantages over MPP clusters. Here, DB2 can take advantage of multiple
processors with inter-query parallelism, omitting the drawbacks a shared-nothing architecture can
have on OLTP sould we say this?. Parallel query in DB2 is fully independent of physical data
partitioning. DB2 uses something called a straw scan where each scanner process is give a set of
data pages to read and process. When a process is finished, it comes back for more pages. This
is comparable to when 5 people each put a straw in a glass and they drink from the glass at
different rates, the glass will be empty for each person at the same time.
Similar to DB2, Oracle supports both inter-query and intra-query parallelism for SMP and MPP, but
due to it’s shared-disk architecture can not reach the level of parallelism achievable by shared-
nothing. Unlike DB2, Oracle’s parallel Query works best with partitioned data. While the Parallel
Query Controller can distribute data blocks data of approximately equal size among the parallel
slave process, there is somewhat more overhead than when data is partitioned. Joins and sorts
also work better when the data is partitioned, especially when data filtering can be supported by
selection on the partitioning key. Oracle offers the most alternatives for design in support of
various types of application requirements, both OLTP and BI. When using RAC in an OLTP
environment, despite optimization of node cache synchronization, there is a performance penalty in
comparison with shared-nothing. Oracle’s Multi-Version Read Model and its associated limited
read locking results in a smaller overhead for read-only transactions. This comes at the price of
perhaps restricted data / transaction integrity in OLTP environments.
SQL Server can parallelize queries (intra- and inter-query) and the where clause of DML
statements. In lack of full cluster support, the DBMS does not offer true inter-partition parallelism.
In contrast to DB2 and Oracle, SQL Server does not support parallelism on nodes with only 1
processor (useful with I/O-intensive processing).
For indexing relational data, DB2 allows the creation of various types of B-tree indexes. DB2 can
also generate bitmap indexes 'on the fly' as required for index ANDing and ORing during query
execution. DB2's B-tree indexes can support simultaneous forward and backward scans, and can
contain additional data columns in the key in order to avoid accessing the data for query
processing. These indexes can be record-based, mapping keys to individual records, or block-
based, mapping keys to extents of clustered data. Index extensions further allow the indexing of
complex data types (like spatial data for example22). Single-dimensional data clustering can be
achieved with a record-based clustering index, and the block-based indexes, introduced with the
Multidimensional Clustering feature in v8.1, allowing data to be physically clustered along multiple
dimensions simultaneously, while providing faster index access and reduced maintenance due to
their significantly smaller size.

22
For more on indexing complex data types, please refer to chapters “Integration” and “Content
Services and Extensions”

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 30


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

23
Oracle gives you a variety of index types to choose from , and these have been enhanced in 10g
with support for Hash Partitioned Global Indexes (useful for resolving high contention in multi-user
OLTP environments). Indexes are not generated at run-time such as in DB2. Meeting all
requirements in index design is more difficult to achieve and the indexes can require more space.
On physical clustering, Oracle can cluster tables according to a common column value. Oracle
recommends use of this feature only for tables with static size. It seems this feature is not
commonly used other than for TPC-C benchmarks.
Similar to DB2, SQL Server stores all indexes as b-trees, but has no support of backward cursors
and does not support generation of other types “on the fly”. Clustered indexes in SQL Server
contain the full data row, making it obsolete to additionally read the data rows when selecting by
the column(s) of the clustered index.
Data access security is solved in a special way with Oracle Label Security. The performance
overhead is leaner than with traditional data security means, i.e. selective views or joins with
security tables that you can use both in DB2 and SQL Server. This is due to the physical “labeling”
of each data row, which is compared to the user’s label at access time. This slight advantage
comes at the cost of a negative impact on manageability.
Heavy analysis on large data volumes often involves complex joins and viewing highly aggregated
data – this is especially common in OLAP processing. When performed frequently, these
computationally intensive processes can benefit from pre-computed results that are managed by
the DBMS. All three DBMS offer solutions in support of summary management and use query
rewrite to redirect queries to the pre-computed aggregate, thus improving complex query
performance. DB2’s Materialized Query Tables24 (MQTs) and Oracle’s Materialized Views25 (MV)
seem very similar. Both approaches support query results with or without a group by clause. Data
synchronization is managed by the DBMS, and can be chosen to be “immediate” or “deferred”.
When postponing replicate updates, both support incremental processing based on a staging area
defined on the base table(s). In Oracle, “Nested MVs” allow summary hierarchies and for
optimized update processes. DB2 does not support nested MQTs, omitting the associated
dependencies. However, summary hierarchies can be obtained inside of an MQT by using the
Rollup/Cube/Grouping Set extensions to the group by clause in SQL. Simultaneous and nested
updates of multiple MQTs are also supported by DB2, allowing for similar performance optimization
as with the nested concept in Oracle. In both environments, materialized data can also be
partitioned and indexed, as well as “user defined”, which aid packaged applications. A clear
strength of DB2 is the ability to define MQTs over remote, heterogeneous objects26. DB2 Cube
Views27 extends the MQT concept to include multidimensional aggregates, which is being
positioned as an “OLAP aware” RDBMS for OLAP acceleration. SQL Server’s Indexed Views (IV)
address similar issues, but the level of implementation does not compare with DB2 or Oracle. In
SQL Server, only synchronous updates are possible, user-defined Indexed Views are not available.
All three implementations have some level of restrictions on the defining queries28. However,
restrictions in SQL Server are the most significant, and Oracle shows more restrictions and higher
complexity than DB2, which becomes apparent by the number of different tools provided to monitor
MV definitions and usage (the latest in 10g being TUNE_MVIEW to examine a create MV input
statement and optimizes for fast refresh and query rewrite).

23
b-tree, b-tree cluster, hash cluster, reverse key, bitmap, bitmap join, indexes for partitioned data,
application domain indexes
24
a.k.a. Automatic Summary Tables in v7.1, now enhanced
25
a.k.a. Snapshots
26
with DB2 Information Integrator V8.1 option
27
Packaged with DB2 Data Warehouse Editions (Standard and Enterprise)
28
specifically aggregate functions

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 31


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

The most significant component enabling a database to autonomously manage the question of
“how” to run queries is the optimizer. DB2, Oracle29 and SQL Server support query rewrite
capabilities, making performance less dependent on well-written SQL. This involves techniques
like predicate push-down, sub-query transformation and conversion and reordering of joins. In
Oracle 10g, a new feature “Query Equivalence” enables the DBA to declare that two SQL
statements are functionally equivalent and indicating that one of them is more favorable for
performance. Query equivalence is necessary at enable joint use of relational and OLAP MVs
among relational and dimensional queries, due to differing SQL syntax in support of these
applications. DB2 does not have these differences in SQL syntax, which is why it does not need
such a query equivalence feature.
Oracle and SQL Server support a number of “hints” to influence query optimization that can be
included in the application SQL or, in Oracle, maintained with Stored Outlines. Oracle continues to
enhance optimizer hints in 10g, with 13 new hints, various updated hints and 11 hints deprecated.
Use of hints should be discouraged since changes in the logical or physical database design
necessitate application SQL code changes. It is more desirable for the RDBMS optimizer to
handle navigation than to embed navigation controls in applications. DB2 does not allow for this
level of influence and fully relies on automatic optimization by its sophisticated optimizer. An
additional capability that DB2 has over its competitors is the ability to rewrite queries on objects
residing on a remote DBMS, both DB2 and non-DB2. DB2 can also perform semantic optimization,
which considers RI during query processing.
Data demographic statistics are key in optimizer navigated performance. These are supported
by all three vendor’s RDBMS. SQL Server was the first DBMS to support automated statistics30,
although both Oracle 10g and DB2 UDB v8.2 now also provide this feature. In Oracle, the
GATHER_STATS_JOB is automatically created on database creation and is scheduled according
to the windows associated with MAINTENANCE_WINDOW_GROUP. DB2 as well schedules
automatic maintenance such as statistics collection in a predefined window, but can also throttle
execution in online windows depending on overall system load. A feature also shared by all three
DBMS’ is the ability to generate statistics based on data sampling, in support of efficient run-time
especially useful for large data volumes. All three products support additional statistics for
collection of more detailed information on tables and column domains; DB2 supports specific
statistics on MQTs. All three DBMS’ support informational constraints31. Both DB2 and Oracle
document the use of this information for query optimizing. Oracle additionally needs dimensional
metadata in some cases, DB2’s optimizer works independently of dimensional metadata.
Oracle has a history of a rule-based optimizer (RBO) that has been superceded with a cost-based
optimizer (CBO) in version 7. Oracle recommends use of the CBO, and is de-supporting the RBO
with 10g. Previous to 10g, the CBO was restricted to estimation of I/O costs. The CBO has now
been enhanced to consider CPU costs (DB2 has done this since v1) and buffer pool hit ratios (also
supported by DB2).
Optimizer capabilities are generally not very well documented, perhaps since this technology is one
of the main distinctions in competitiveness. This makes it difficult to actually compare the optimizer
features on a detailed level. However, benchmarks can be a useful indicator when measuring the
performance capabilities of a DBMS. The most well-known are the TPC benchmarks (i.e. TPC-C,
TPC-H, TPC-R, TPC-W). Some application vendors support special benchmarks for their
solutions. In the area of OLTP, for example, SAP offers a certified benchmark for SAP SD (among
others). This benchmark is run both for 2-tier (application and database server share the same
hardware) and 3-tier (application and database server are on separate machines) architectures.
SAP also supports a benchmark based on SAP BW, their business intelligence solution. Since
benchmark results are refreshed regularly, we will abstain from quoting detailed result findings of

29
Oracle’s Query Rewrite capabilities is only available with Enterprise Edition
30
SQL Server 2000 will automatically update statistics using a sampling method when the statistics
appear to be out of date
31
Relational constraints that are defined to the DBMS as additional information but not enforced

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 32


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

November 2004 (which would soon be stale) and recommend readers to refer to the benchmark
web sites at the time needed. However, when viewing a range of performance benchmarks, we
observed certain trends that we found informative.
The first observance is that there are many more recent benchmarks for Oracle10g than for DB2 or
SQL Server. This can be explained on one side by the general availability of 10g (almost 1 year
since GA) in contrast to v8.2 (GA only since 2 months). SQL Server 2000 has been available for
many years and a new version is scheduled to become available next year. Considering the high
costs associated with benchmarking, it seem obvious that Microsoft or any other vendor would
invest in benchmarks based on technology that is going to be updated very soon. Glancing at an
unqualified summary of major current benchmarks (SAP, TPC) and ranking by relative first, second
and third placements of the three DBMS’ in question, DB2 holds the overall lead in current
benchmarks (although many of them are still based on v8.1), with Oracle following and SQL Server
behind both.
However, even benchmark results inside one category are not necessarily comparable due to
varying hardware configurations. This is very important to realize from a user perspective, as
varying hardware configurations can mean very different costs both for hardware and software (i.e.
CPU-based licensing or chargeable options in support of scalability clusters). For example, on
TPC-H for 1TB, we found that the first 8 rankings were all taken by DB2 and Oracle with varying
QphH results. But when comparing the hardware configurations, we found that these are hardly
comparable. In fact, only the 16-way benchmarks for DB2 v8.2 and Oracle10g have a similar
hardware base. Between the two, DB2 delivers almost 2.5x the performance of Oracle’s 10g. For
TPC-C, DB2 leads for single system performance.32
All three DBMS embrace intelligent performance optimizing technology. DB2’s architecture
appears very straight-forward and relatively easy to use, leaving less chance for design decisions
that could harm performance. Oracle’s features appear to be mature and rich, yet complex in
usage. From a feature perspective, we have counted an overall advantage for DB2. Oracle
follows DB2 but leads before SQL Server. Our current benchmark observations underline this
finding, and in contrast to our last study, in summary we cannot identify certain areas where this
ranking would need to be differentiated depending on application type (OLTP vs. BI).

5.3 Availability
Modern businesses regard constant and immediate access to information to be vital to the
enterprise. E-business is online business; it can never close. There is no expectation of a batch
window for an e-business application. Customers expect full functionality on the Web regardless of
the time of day.
Availability extended to 365 days a year, 24 hours a day is called “Continuous Availability” (CA).
CA combines the characteristics of continuous operations and high availability in order to eliminate
all planned and unplanned outages from the end user. It must be measured at the level of the end
user, who is concerned only with getting their results. This requires that the applications are
operational and available to the end user, including the hardware, software, network resources,
and data required to run the applications.
It is really hard to do a comparison on a theoretical base, because there are no performance-like
benchmarks known in this area. There are only some studies reporting production experience
such as the Solitaire Interglobal Ltd. study from 200333. Over 200 AIX® and 300 Windows NT®
production systems where tracked for performance, reliability, staffing and time-to-market issues in
this study. For IBM xSeries platform, Solitaire’s survey results shows that the number of DB2

32
DB2 Universal Database v8.2 on eServer p570 (AIX) 4 nodes each with 4 POWER5 1.9GHz;
26,156.3 QphH; 53.00 US $/QphH; Availability 12/15/04 vs. Oracle 10g on Legend DeepComp
6800 Server (Linux) 4 nodes each with 4 Intel Itanium2 1.3GHz; 9950.7 QphH; 1321 China Yuan
(CNY) Renminbi/QphH; Availability 5/6/04
33
Solitaire Interglobal Ltd. 2003:„DB2 Performance on IBM eServer pSeries and xSeries”

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 33


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

outages was less than half of Oracle and less than 45% of SQL Server. On IBM pSeries platform
with no SQL Server available, the number of DB2 outages was less than half of Oracle as well, the
outage time less than 10% of Oracle’s outage time. This statistic doesn’t differentiate between
planned and unplanned outages, whereby the study states that one of the most contributory factors
was the need for database reorganization and redeployment.
In the following discussion, we will differentiate between planned and unplanned outages.

5.3.1 Planned Outages


A planned outage is best described as a database maintenance activity such as data backup, table
reorganization, schema evolution and alteration of database parameters that effects the availability
of the system. The following discussion verifies the ability of every DBMS to perform the tasks
online, with minimum resource allocation and with minimum locking.

To be prepared for a version or a point in time recovery in the case of an unplanned outage the
database has to be backed up from time to time. All DBMS’ can do this while the database is
online in either full or incremental mode. To minimize the impact of the backup operation, DB2
has included the new throttling feature that allows to specify how much impact is allowed when the
database is busy. There is no corresponding functionality in Oracle or SQL Server, though they
both have the ability to backup the database from a physical standby database. To reduce the
time needed to run backup, all DBMS can run in parallel. DB2 released a self-tuning feature that
increases backup processes up to 4 times. Oracle incorporated a “block change tracking” to
speed-up incremental backup. In summary, both DB2 and Oracle have very good backup
implementations with different strength and weaknesses, SQL Server comes behind.

Table reorganization reorganizes a table by reconstructing the rows to eliminate fragmented data,
and by compacting information. Index reorganzation rebuilts index data into unfragmented
physically contiguous pages. Oracle10g and DB2 have reorganization utilities for all these
administration tasks with full access to the data and are therefore best suited in this area. There
are advantages for DB2 because of its in-place table reorganization utility that minimizes disk
space allocation, the multi-dimensional clustering (MDC) tables that never need reorganizing to
maintain data clustering and the previously mentioned “throttling”-feature that applies here as well.
There is no explicit utility for table reorganization in SQL Server – the drop and (re-)create of the
clustered index defragments the data pages. During this process the table is locked and therefore
unavailable. DBCC Indexdefrag works with minimum locking for index reorganization.
All DBMS’ allow for statistics generation online and automated – with minimal impact to
operations. For generation of statistics of very large tables, one can use sampling methods in DB2
and Oracle to prevent from analyzing the whole table. Additonally DB2 runs statisitics generation
“throttled”.
Schema evolution, or a change to the database’s structure, is not a task that needs to be done
often. But when there is a need to modify table structures, it can be time consuming and will
impact business applications. Oracle10g is best suited in this area because of
‰ its ability to allow full access during schema changes
‰ its modify and drop column support
‰ its ability to replace views without losing authorization records
DB2 UDB has added support for modify and drop columns, but lacks Oracle’s full access during
schema changes. Modification of views make referring views unusable and deletes all
authorization records of the view and the referring views. SQL Server with its “modify and drop
column”- support and the re-activation of views (including the authorization records) after a
dropped base table is re-created, ranges between Oracle9i and DB2 UDB.
Changing the physical implementation of a table is a domain of Oracle10g. Here you have the
ability to move tables from one tablespace to another and change from heap organization to index-
organized or partitioned. There is no similar feature in DB2 UDB 8.2 or SQL Server to move tables

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 34


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

between tablespaces, changing the table organization is furthermore only relevant with DB2, but
the change from a “normal” table to a MDC-organized table can only be done via drop and create.
The change of system parameters may cause downtime because some changes take effect only
when stopping and starting the instance or the database. All DBMS’ are further changing their
implementations to allow numerous changes while the database is active and working. Most
significant here is memory management that is automated in all DBMS’ in question.
It is sometimes necessary to add or remove nodes in clustered environments. From the
availability standpoint, there are some differences arising from the cluster architecture. In shared-
disk environments such as Oracle9i, adding a node has minimal effect on disks, because all disks
are accessible for all nodes in the cluster. The node has to be registered in RAC34 and the local
redo files have to be created. After this the node is available. But following Oracle’s advise for
good physical design in a cluster environment there can be a need for adjustment of table
partitioning schemes – especially when using range partitioning. DB2 implements a shared-
nothing cluster with partitioned tables spread over the nodes in the cluster. Adding a node means
adding disk capacity too, and partitioned tables need to be redistributed over all nodes.
Redistribution in DB2 runs under transaction control and needs recreation of statistics and rebind
of dependent, static-SQL packages. SQL Server 2000 runs its nodes in a federated database
where single table partitions are put together via federated views. Adding a node means: split on
table partition into two partitions and store one of them at the added node. This can be done via
mass insert and delete statements under transaction control and its negative effect on availability
and is a very manual process.
Adding disk space is a task for the underlying disk management. In most cases these components
allow for adding/changing disks while the database is in operation. To make this additional space
available for the database there are different procedures, not only between the DBMS, but inside
each of the DBMS itself. Oracle released with Oracle10g Automated Storage Management (ASM)
that knows disks and disk groups, so adding a disk only needs to add the disk to a diskgroup –
rebalancing of the diskgroup is covered by ASM but it may slow down the system for a while. SQL
Server uses autoextend to give the filegroups more space without the need for rebalancing. DB2’s
System Managed Tablespaces work in a similar manner with the limit that there is no more free
space on the disk – Database Managed Tablespaces are the better performing alternative that
works with balanced files. In most cases adding a file causes a rebalancing of the data in the
tablespace. The previously mentioned “throttling”-feature minimizes the impact on database
operations. Starting a new stripe set prevents the need for rebalancing the data, but results in
unbalanced containers. Because of these multiple options it is possible for each DBMS to add disk
space without any outage. Performance slowdowns for the duration of the rebalancing must be
reckoned with.

Data Warehouse environments face challenges in loading massive amounts of data into the
database. This must be addressed by the DBMS via a sophisticated load utility that covers
availability aspects. DB2 is very well suited with a ingenious load utility that allows for read access
to the table and to the Materialized Query Tables (MQT) based on the table being loaded. When
using MDC, DB2 can use direct load capabilities to reuse space in the middle of the table.
Additionally, the availability of the load command via CLI, the possibility to use load and the fast
unload utility35 instead of insert-select gives DB2 a real strength in this area.
Oracle addresses the load challenge with several features. First of all, the load utility can be run in
two modes. The conventional load runs like insert statements that are optimized for mass data –
users have full access to the table as Oracle’s optimistic locking strategy allows. The direct path
load, the high performing variant making table data unavailable, disables all constraints and drops
the indexes before loading, after loading it re-creates the indexes and enables the constraints. The
new Data Pump gives an Oracle administrator another option to load data with very high
performance. High performance export is also possible with this tool. Additionally, 10g brings

34
RAC: Oracle Real Application Cluster
35
Fast Unload (Multiplatform tool) is chargeable add-on tool

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 35


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

cross platform Transportable Tablespaces that allow for a very fast transfer of data between
databases but with limited application scenarios.
The SQL Servers bulk copy utility runs under transaction control with access to the rest of the table
for business applications, but in practice the lock escalation feature will lock the full table during
mass insert.
Oracle’s ability to build table partitions by range or list gives users the opportunity to gracefully
remove data from the Warehouse, i.e. no longer needed historical data can be pruned. DB2 UDB
and SQL Server don’t have the ability to partition a table by range or list, but they can use union-all-
views to gain the equivalent result – from the availability, not from the managability standpoint.
In summary, Oracle10g and DB2 UDB have different strengths with no real advantage, SQL Server
comes last.
The management of aggregate tables may result in an outages when every change to the base
table results in the full recreation of the aggregate table. The incremental update of aggregate
tables is therefore a necessary feature when dealing with large base tables. Oracle as well as DB2
UDB are able to update the aggregate table incrementally, SQL Server does not.
“Resuming statements” is a special feature in Oracle that allows for resuming long running SQL
statements at the point where the statement has been aborted due to missing resources. This
functionality is not permanently available – the application needs to set the session resume-able.
Once a statement is suspended, the user or the database administrator (DBA) is not informed
automatically – the message is routed to logfiles that the DBA has to monitor. SQL Server and
DB2 don’t have an equivalent feature for SQL statements; only utilities such as backup, load and
reorg are restart-able.
In summary, we see small advantages for Oracle against DB2 UDB, SQL Server falls behind.
Oracle and DB2 have strong offerings that are comparable in backup, adding and removing nodes,
data load and management of aggregate tables. Oracle has strengths in tablespace reorg and a
strong support for schema evolution that is unique in the DBMS market. DB2 claims leadership in
table and index reorg. SQL Server has a strong schema evolution support, but weaknesses in
node management, mass data loading and management of aggregate tables.

5.3.2 Unplanned Outages


The second part of availability is the minimization of down time when unplanned outages occur.
These can be caused by an earthquake or any other natural catastrophe, sabotage, hardware (disk
or CPU) failure or any other numerous faults inherent in infrastructure. It can also result out of user
or application errors. Disaster Recovery Journal states a probability of 47% for system/hardware
failure, 36% for human errors and only 3% for disasters such as fire and earthquake. It is essential
in every business to have a tried and tested recovery strategy to suit as many of these situations
as possible. Differing demands and economic factors drive the decisions on how to recover and
the maximum time in which the recovery must succeed. For absolutely mission-critical services,
that means the inclusion of solutions that can span large geographical areas to allow for recovery
from catastrophic incidents such as earthquakes.
From the DBMS point of view the different incidents can be divided into 2 categories:
‰ system failures
‰ human errors
System failure
System failure can result from hardware or power failures, as well as operating system or server
crashes. The most adequate feature for minimal disruption during system failure is the cluster
failover facility, where applications as well as DBMS will be transferred to another box in the
cluster after one box has crashed. This can be run in an active/active or active/passive
configuration. With active/active, all boxes in the cluster are active and working – when one box
crashes, the surviving boxes take over its workload. With active/passive, one box in the cluster is
idle and reserved to take over the full workload of another box when it crashes.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 36


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

A standby server configuration (for takeover after system failure) can be used to protect against
major disasters with the ability to geographically divert the standby from the production location.
This physically separate server holds a database copy, which is in constant standby. It
automatically receives continuous changes from the master database. The failover normally takes
longer than a cluster failover and is not fully automated.
System failure: cluster failover
A server cluster usually relies on software delivered by the operating system vendors36. This
cluster management software allows for heartbeat detection (periodical checks inquiring about
server operability) and mutual takeover after crash. Grouping various resources (i.e. disk, IP
address, DBMS instance) to a virtual machine allows the resources to float amongst all nodes in
the cluster. DB2 and SQL Server fully rely on this cluster management software. Both
active/active and active/passive configurations can be implemented with these components. This
could be, for example, the minimum active/passive configuration with one server active and the
other idle, waiting for crash. Or a sophisticated active/active configuration of, say, four boxes
running one DB2 database partitioned over all boxes37 (after one box crashes, the workload is
distributed over the surviving boxes). Oracle operates in a very similar manner for active/passive
configurations. In an active/active environment, due to Oracle’s shared-disk architecture, you
need the Real Application Cluster (RAC) software. This software architecturally resides on top of
the cluster management software to utilize heartbeat detection – the failover itself is driven by
RAC. However, the prerequisite for RAC is Oracle’s own cluster management software, the
Cluster Ready Services.
In order to measure the abilities of the DBMS’ in question to efficiently manage system failure
outages, one needs to differentiate between OLTP and BI application environments. Oracle’s
Transparent Application Failover (TAF) allows for client-side re-connect to an alternate node and
re-submit of the currently active queries in read-only environments. DB2 has added a comparable
feature called “client reroute” that is able to connect to an alternate node when the primary node is
not or no longer available. DB2’s “client re-route” has manageability advantages due to server
configuration; Oracle’s TAF has to be configured on each client. SQL Server has no equivalent
feature. The server-side failover process can be considered as equally time-efficient for DB2 and
Oracle. SQL Server has a slight disadvantage. Although based on a similar architecture to DB2, it
in contrast does not allow for a DBMS start on the failover box prior to the actual failover. Within
DB2, the failover process is reduced to takeover of disks and ip-addresses, whereas disk takeover
does not apply when the database is deployed on shared disks. This contains the assumption that
due to missing update activity in BI environments, recovery time can be neglected. During this
process, all data owned by active nodes is accessible, although access to partitioned tables can be
limited. This is similar for SQL Server, although distributed partitioned views will not be fully
available throughout takeover. In an Oracle environment, during the fairly short process of
remastering, the full database is unavailable.
The determining factor for failover efficiency in OLTP environments is instance recovery and the
accessibility of instance data during this process. While in DB2 and SQL Server, recovery is
restricted to the failover node; data of other nodes remain accessible. Oracle’s full rollback allows
for access to the whole database throughout the process with exception of the blocks currently
being recovered.
Independent of OLTP and BI, after a fail-over in an active-active environment, the DBMS needs to
ensure a well-balanced workload over the surviving nodes. Oracle has this ability per se because
there is no dependency on which data a specific node has to manage – all nodes have access to

36
Microsoft Cluster Server (MSCS) on Windows 2000 and Windows 2003 (DB2 V8.2 supports the
maximum number of nodes allowed, which is 8, SQL Server only supports a maximum of 4 nodes);
HACMP (High Availability Cluster Multi-Processing) on AIX; Sun Enterprise Cluster or Veritas
Cluster Manager on Solaris; SteelEye, Veritas Cluster Manager, Tivoli Automation and Linux
Heartbeat on Linux and ServiceGuard on HP-UX.
37
In a SQL Server environment, you would implement a federated database in this case.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 37


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

all data. In an active-active shared-nothing cluster every node is the exclusive owner of data that is
not directly available to other nodes, so restarting a failed instance on a surviving box can lead to
double workload on this box, while the others are not affected at all. The cluster architect can
avoid this with intensive usage of logical nodes in DB2 or “Virtual Servers” in SQL Server38.
Because the cluster manager is a piece of software, is also is a single point of failure. Oracle with
a RAC configuration is very sensitive to cluster manager failure. When this happens, the whole
cluster with its databases is unavailable, while DB2 and SQL Server “only” loose their ability to
failover. On the other hand, if the catalog node of a DB2 partitioned database crashes, the full
database is unavailable until the catalog node is up and running on the failover server.
In an active/passive configuration, DB2’s ability to start the database manager on the standby box
prior to a failover can be seen as an advantage against Oracle and SQL Server in BI environments.
For high-volume OLTP, Oracle’s capability to allow access to the database during the process of
rollback appears to be beneficial in comparison with DB2. Without appropriate and comparable
benchmarks however, this appears extremely difficult to verify. IBM has published a case study39
showing less than 10 second failover for DB2 in an OLTP environment.
System failure: standby database
All DBMS’ offer standby database solutions40. Creating the first image of a standby database can
be achieved either by using a database backup or by utilizing split mirror handling. Keeping this
image in sync can be managed by 2 different approaches: physical standby and logical standby.
DB2 has added functionality to their physical standby solution with HADR (High Availability
Disaster Recovery) that comes with the ability to ship log records synchronous and asynchronous
to a standby database with a comprehensive GUI for setting up the configuration. Oracle’s Data
Guard is able to mirror synchronously and asynchronously as well, SQL Server currently is not able
to do this synchronously. HADR is an option for DB2 users with single-instance databases41 while
Oracle’s Data Guard has RAC support integrated.
We define logical standby as the ability to propagate transactions to the standby database without
the need for the standby database to be in constant roll-forward mode. This allows the standby
database server, which is normally idle, to be used for reporting. Materialized views / query tables
and optimized indexes can be added in support of these queries. Transaction shipping is featured
by Oracle with its Logical Standby Database. DB2 and SQL Server recommend their replication
facilities for transaction shipping. DB2 released a new queue replication feature. While replication
is normally asynchronous, Oracle’s Logical Standby can be configured for synchronous mirroring,
however the relevance of a synchronous update to a standby database that is primarily used for
reporting is open for discussion.
From an application standpoint Oracle and DB2 deliver re-routing mechanisms, so when the
primary database isn’t available, the application is automatically re-routed to the standby database.
System failure: Restore
The use of backup and restore for recovery is recommended for systems with no need for
continuous availability. It is the method of choice when in need of handling targeted data failures.
There are two different recovery methods in use. Version recovery is the restoration of a previous
version of the database, using an image that was created during a backup operation. Roll-forward
recovery is the reapplication of transactions recorded in the database log files after a database or a

38
Example: 4-node cluster with three logical nodes/virtual servers on every box; the three logical
nodes/virtual servers of the failed box can be spanned over the three surviving boxes.
39
“Delivering 10 Second Failover for High-Volume Transactional Telco Applications with IBM DB2
Universal Database V8.1 – A Customer Case Study”, IBM Software Group Toronto Lab
40
There is only a 1-cpu license necessary for passive standby databases in a DB2 environment,
including active/passive cluster configurations.
41
HADR is included in Enterprise Server Edition and is an Option for Workgroup Server Edition

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 38


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

table space backup image has been restored. All DBMS in question provide these methods in
parallel and online, with database or tablespace granularity. Furthermore, Oracle released a new
feature for minimizing recovery time when using incremental backups. Because it is faster to
restore only a full backup instead of a full backup and several incremental backups, now it is
possible to merge the last full backup with the incremental backup. The result is a new full backup
that represents the point in time when the incremental backup was taken.
Oracle additionally supports block granularity, and has the ability to selectively process only bad
blocks when recovering. This is an optimal recovery method on media failure due to the fact, that
only the block is unavailable until recovered, the rest of the table is fully available. Recovering only
one block instead of a full tablespace is a lot faster, but because Oracle does not know in which
files log entries referring to the bad block are located, it has to go through all log files for roll-
forward. DB2 on the other hand has only tablespace granularity, but is able to skip logfiles with no
entries referring to the tablespace. Because Oracle favors log archiving on disk with its flashback
recovery area, recovering a full tablespace in DB2 probably will take longer than recovering one
block and going through all log files. However, in the case of recovering a full tablespace, DB2 will
be faster due to log skipping.
Human Errors
Frequent reasons for unplanned outages are resource failures or software errors, but current
surveys state that the share of user errors is increasing. Only DB2 and Oracle provide features
addressing this problem, often referred to as “undo management”. In DB2 it is possible to re-
create erroneous dropped tables. Within the optional “DB2 Recovery Expert for Multiplatforms”,
sophisticated undo-management based on mining of archived and active logs is offered. Oracle
offers a set of different techniques called “Flashback Drop”, “Flashback Table” and “Flashback
Database”. With this features one is able to undo most unwanted user actions online – as long as
the logs are available. This is similar functionality to IBM’s solution, but due to restrictions “DB2
Recovery Expert for Multiplatforms” the flashback features are best suited for undo management.
The only feature SQL Server delivers that addresses user errors (besides a point-in-time recovery
with backup files) is a delayed apply of log records to a standby database – so when a unwanted
update occurs on the primary server and the problem was detected within the log application delay
time, the original data can be restored from the standby database.
To summarize, all DBMS are able to serve low-level as well as high-level availability requirements
in a satisfactory manner. There are only minor differences. For clustered, active/active BI
environments, we see no difference between Oracle and DB2 due to comparable client-side
failover and similar efficiency of server-side failover. While in DB2, ip address takeover and
database restart need to be performed, in Oracle you need to plan for resource remastering. SQL
Server has disadvantages due to need for explicit DBMS start, a disadvantage that also applies for
OLTP environments. DB2 and Oracle show different advantages in failover efficiency for OLTP,
that lead to a tie in this area. While in DB2, data beyond the failed node is accessible throughout
the whole failover process, Oracle allows user access during rollback. For active/passive cluster
failover, all three DBMS utilize very similar facilities. There are slight advantages for DB2 in BI
environments due to possible DBMS start before failure. In the area of OLTP, we see a tie for DB2
and Oracle, SQL Server falls slightly behind.
With HADR, DB2 has been enhanced with a synchronous mirroring standby solution. This is tied
in functionality with Oracle’s Data Guard, SQL Servers standby solution falls behind because of the
missing synchronous update. In the area of media recovery and restore we see advantages for
Oracle due to merge of incremental with full backup and block recovery. SQL Server comes
behind in both areas. Although we have handled undo management above, we have omitted it
from final rating in this chapter, since it has been included in Manageability rating (see chapter
“Manageability”).
Although we see a very slight advantage for Oracle, the differences between Oracle and DB2 are
not significant enough to differ in rating. We find DB2 and Oracle are equally strong leaders in the
area of management of unplanned outages, offering very time efficient failover handling in support
of continuous availability. SQL Server, while an impressive and professional offering, follows both.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 39


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

5.4 Manageability
Manageability of an enterprise database environment is defined by various factors that affect the
level of human interaction necessary to keep operations going. These include:
‰ Usability
‰ Complexity (or its masking)
‰ Exception management and automation
‰ Location transparency (for distributed environments)
The pinnacle of manageability would be a DBMS that fully manages itself. This is something that
all major DBMS vendors have declared as the ultimate goal, sometimes referred to as autonomic
computing. With growing application complexity and increasing data volume, the complexity of a
DBMS likewise grows to support the required levels of scalability, performance and functionality.
As complexity rises, autonomic computing becomes more difficult to achieve. The factors defining
a manageable database change with the application and data requirements. Is then the DBMS
more manageable that delivers the least complexity at the price of system capacity? Or rather the
DBMS that handles complexity in an elegant fashion, serving high-end requirements? The answer
to this question will depend on individual requirements.
The latest versions of DB2 UDB and Oracle both have a focus on manageability. A majority of the
new features are found in this area. Both databases have done an excellent job at masking
management complexity and (semi-) automating various management tasks, although with varying
focus as we will discuss throughout this chapter.
Database management is a complex issue that addresses diverse areas. This is why an equally
diverse palette of tools is needed to handle each problem area in a dedicated manner. However,
to maintain usability, these should be accessible through an integrated interface, including a
central entry point for both local and remote databases (multi-server management). Good
integration also means manageability tools should seamlessly cover any add-on technologies
supported by the database, such as large objects. And finally, efficient usability is defined by
overall complexity; unless complexity is fully hidden to the user, a more complex environment is
obviously more difficult to use than a simpler one.
Within Oracle10g, the OEM (Oracle Enterprise Manager) has been substantially redesigned,
improving usability and integration compared to previous versions. OEM is fully web-enabled and
available in “Database Control” and “Grid Control” (for use with RAC clusters) flavors. When you
log on to OEM, you explicitly log on to a specific database – meaning when working with different
databases at the same time, regardless if they reside on the same server or not, a DBA will always
have separate OEM views and need to switch between them during the work process. Once
connected to a certain DB, the user navigates among activities. Options are organized by tabs that
group available activities together i.e. “Performance” or “Administration”. A general tab “Standard”
offers an overview of database health including graphical displays of indicators. While a
substantial number of tools and technologies are integrated well in OEM, others are not (e.g.
Streams, Advanced replication, XML DB, Spatial).
While OEM has a more “task oriented” view of object management, DB2’s Control Center view
remains “object oriented” as known from previous releases. Starting Control Center means
receiving a overview of DB2 instances. Once positioned on a certain instance and object
(database, tablespace, table, etc), a context-sensitive menu offers further options. New in v8.2 is
the ability to customize the Control Center to a basic, advanced or custom view, making it possible
for DBA’s in lesser complex environments to hide specific DBMS details not relevant to their
particular situation. Tool and technology integration is well done in Control Center, and all new
manageability features are available within the Control Center interface including those that come
as options (like the new Q Replication).
Both OMS and DB2’s Administration Server (also referred to as DAS) deliver a scalable
architecture for addressing management of distributed databases. SQL Server’s solution is
somewhat different in architecture. While DAS and OMS can be viewed as individual DB servers
fully dedicated to managing any number of database instances (remote and local), SQL Server
manages remote instances from a normal database server that is declared to be the master server.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 40


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

One must register all remote servers explicitly to SQL Server. Remote servers poll the master
server for scheduled jobs, but manage them individually. DAS and OMS have the capability of
discovering DB Servers in a network. They take over responsibility for automating remote
administration and manage involved messaging and similar tasks. OEM’s architecture has been
modified in favor of remote management. Communication between the web client and Oracle’s
Management Server (also referred to as OMS) as well as between OMS and actual database
server are handled by HTTP, allowing for secure connections with firewalls when setting up
distributed management configurations. DB2 UDB v8.2 comes with additional Web Tools for
browser-based use (they utilize the now included DB2 Web Server), although functionality is not
comparable with Control Center and more intentioned for “light DBA” use for example on a PDA.
In all three DBMS, the DBA has an integrated GUI to all available tools and a central point of
access to metadata and many wizards. Both DB2’s and SQL Server’s GUI and wizards are
intuitive to use in the familiar Windows look and feel. Wizards include explanations of steps the
user is being guided through. Oracle’s GUI is least Windows-like, and wizards not as descriptive.
Installation is very simple for DB2 and SQL Server und supported with setup wizards. There were
some challenges getting Oracle up and running in a Linux environment (setting of kernel
parameters and some scripting), making installation especially difficult for a novice user. For
configuration, Oracle offers various model DBs to choose from depending on requirements. With
DB2’s Configuration Advisor, the DBA is asked a set of questions, allowing the DBMS to inspect
the system and decide on optimal configuration parameters. SQL Server and DB2 allow
generation of response files for support of identical, automated installation on remote instances.
Oracle offers response files as templates that can edited and then used for automatic remote
installation.
Although all three DBMS’ offer many fine-grained options to manage disk space of database
objects, SQL Server is the least flexible. While it easily allows you to define automated growth for
primary and secondary files, deficiencies arise when adding disks. You need a clustered index and
the “reindex” utility to free formerly used table space. You can trigger space optimization utilities in
the Database Maintenance Plan Wizard, and automate the process when space problems arise,
but there are only limited capabilities to proactively monitor space issues. DB2 offers a Storage
Management Tool, where the DBA can collect valuable statistics and define thresholds for
automatic alarms. The Space Estimation Tool aids in calculation of required DB space. Both tools
are features of DB2 and do not cost extra. In contrast, Oracle’s Tablespace Map is part of the
Tuning Pack Option and priced separately. New in 10g is Automatic Storage Management (ASM).
While ASM offers mainly performance and cost advantages in storage management, from a
manageability perspective this enhancement has only small relevance (space can be added to disk
groups without necessity of altering the tablespace).
SQL Server offers a good user interface simplifying backup and recovery management, and can
suggest restore plans based on its backup repository. Partial DB recovery is possible on a
filegroup, however the full DB repository is restored which can cause integrity issues. Oracle’s
Recovery Manager is equally user-friendly and is a packaged feature. MTTR advisor allows easy
setup of crash recovery depending on a maximum amount of time. Oracle’s LogMiner offers
advanced querying of archived logs. Undo-management has been significantly enhanced within
10g and its new GUI now embraces additional flashback functionality for databases and tables,
querying transaction history, obtaining SQL undo syntax and performing queries on history data.
DB2 offers an additional backup repository with Recovery Expert, a comprehensive but optional
tool for multi-platforms. Recovery Expert supports autonomic recovery management, where the
DBA defines “what” he/she wants to do and the tool figures out the best way “how”. It also
supports sophisticated undo-management based on log mining on archived and active logs.
Oracle10g and DB2 v8.2 both offer automated backup management within a predefined
maintenance window “out-of-the-box”, although DB2’s backup is now self-tuning (IBM claims 4x
better performance) and is self-throttling depending on system activity.
Resource management involves monitoring and modifying available resources, and perhaps
restricting their consumption by users and transactions. Modification of available resources is fairly
dynamic in all three DBMS, and many configuration parameters can be changed online. SQL
Server dynamically determines how much memory to allocate at start, based on how much

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 41


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

memory the operating system and other applications are currently using. As the load on the
computer and SQL Server changes, so does the memory allocated. For further monitoring in the
SQL Server environment, the DBA can set alerts in Windows System Monitor42 based on object
information and counters provided by SQL Server. Resource consumption can be controlled by
defining a query cost limit at server level.
In DB2, you can analyze your system with Memory Visualizer and do tool-supported online
bufferpool management. DB2 allows some memory parameters to be set to “Automatic” which
means that they can grow and shrink as required and determined by the DBMS. Oracle can
change its memory requirements, but only within its own memory space allocated at startup time (it
cannot give memory back to the OS and cannot acquire more from the OS). Oracle’s Database
Resource Manager is a feature that enables targeted limitation of resource allocation to groups and
users. The DB2 counterparts are the Query Patroller43 and the DB2 Governor. Query Patroller
allows you to proactively group query types by user, group, application and cost, in favor of
appropriately dividing available resources among many query groups, ensuring consistent
response times, and that long-running queries do not completely block resources from fast-running
queries. This is a feature Oracle’s Resource Manager does not offer. The DB2 Governor limits
ressource usage on user and/or application base.
New in Oracle10g are Automatic Workload Repository (AWR) and Automatic Database Diagnostic
Monitor (ADDM). AWR is a built-in repository that contains information including operational
statistics about a particular database. At regular intervals snapshots of DB statistics will be stored
into AWR, data is kept by default for 7 days. ADDM uses AWR output to identify symptoms and
analyze root causes of performance problems due to insufficient resources or extensive
consumption of resources by specific queries/applications. The Activity Monitor is new in DB2 v8.2
and allows you to see current performance activity (top sessions, locking issues, etc). The
information is pulled out of memory (mostly by snapshots) and is not hardened to disk. Historical
performance monitoring is available within Performance Expert (a multi-platform tool option) which
will monitor the database, store workload information and provide you with the monitoring/tuning
recommendations. However, in comparison with Oracle10g, DB2 v8.2 lacks a central repository
such as AWR.
In further support of performance management, both DB2 v8.2 and Oracle10g deliver additional
enhancements. Oracle10g introduces SQL Access Advisor, a wizard run from OEM or by the
DBMS_ADVISOR package. This tool generates workload-based recommendations for
Materialized Views, MV Logs, and Indexes. The workload input can be snapshots from AWR, a list
of SQL statements (tuning set), the current workload or a sampled/hypothetical workload (using RI
and dimensional constraints from the repository). However, Oracle’s Tuning Pack (option) has not
become obsolete by this enhancement, but has been further enhanced in 10g with many graphical
advisors. This pack contains a number of useful performance management features including a
performance data warehouse and SQL Analyze, an aid in management of Oracle’s complex stored
outlines.
DB2’s Design Advisor44, is workload-based and similar to SQL Access Advisor, has been improved
in v8.2 and now supports recommendations for MQT-, MDC- and partition key selection in addition
to the index advice offered in v8.1. DB2 also offers Cube View’s Optimization Advisor45, which
specifically assists with MQT creation for dimensional analysis. Cube View’s Optimization Advisor
is not workload-based, but works on parameters provided by the DBA (restrictions on time and
space, expected query types), catalog information (statistics and metadata) and sampling of the
actual data. DB2’s sophisticated optimizer is an advantage by itself in the area of performance
management. Its query rewrite capabilities remove pressure from the DBA and developer for

42
a.k.a. as Performance Monitor in Windows NT
43
Query Patroller is a payable option
44
a.k.a. Create Index Wizard, renamed in V8
45
Included in DB2 Cube Views

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 42


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

query analysis and tuning. With v8.2, Column Group Statistics and Automated Statistics Profiling
(aka LEO, Learning Optimizer) have further refined these features.
SQL Server offers an index tuning wizard. Its query governor only allows the DBA to set a cost
limit for the DB server, but can not match the differentiated governing features in DB2 and Oracle.
All three DBMS allow for collection of statistics (full or sampled) in support of query optimization,
and in all three cases this process can be automated. In the case of Oracle10g and DB2 v8.2, this
is done in predefined maintenance windows.
All DBMS in question allow GUI viewing of data base objects and changing to some extent. Oracle
has the most advantages in the area of schema management thanks to strong “ALTER TABLE”
capabilities, allowing efficient and user-friendly modifications. SQL Server graphically displays
relational models including referential constraints and allows for similar altering actions. DB2 has
some weaknesses compared to the other two in this area.
Cross-server object and data management is a daily DBA task. Each DBMS offers a number of
detailed features in this area (i.e. cross system porting, DDL and configuration scripting, etc.).
DB2’s strong offering with most flexible and efficient data load and unload facilities has just recently
(v8.1) been enhanced. These are complemented with a very sophisticated tool option (DB2 High
Performance Unload). SQL Server’s utilities are less usable and especially challenged when
moving large data volumes. In Oracle10g, the new tool “Data Pump” has been added, that enables
efficient, cross-platform data transportation including schema objects creation and security
definitions. Additionally, “Transportable Tablespaces” have also been enhanced for cross-platform
support. Oracle’s SQL*Loader can access “external” tables, a feature that can be implemented in
similar fashion with DB2 Stored Procedures and the new CLI Load.
For security management, both DB2 and SQL Server utilize the operating system capabilities,
calling only for explicit group management on the DB server. In Oracle, users must additionally be
managed in the DB. Managing content-based row level security means view management in DB2
and SQL Server environments. Depending on the number of profiles and the complexity of
clauses, this can mean substantial overhead and might call for individual tool development, since
the DBs do not offer any out-of-the-box tool support. In Oracle, you can take advantage of Label
Security. This feature has advantages in comparison with the view management mentioned
above46. However, because security information is stored with the data, profile modification can
lead to expensive data updates, which is especially critical on large volumes of data.
All areas discussed above will depend on exception management and automation facilities to
reach an optimal level of manageability and to allow the DBMS to be widely autonomous. SQL
Server, Oracle and DB2 offer central job management and scheduling facilities. Each environment
allows for definition of alerts in support of automated problem management. In SQL Server, the
DBA defines the events to which the system should react and which measures to take on reaction.
This can involve implementation and scheduling of complex scripts and processes. The framework
can be used to define and act on events occurring, to proactively adjust to a situation before the
actual problem arises. These need to be configured manually.
Oracle9i R2’s previously similar framework has been significantly enhanced in 10g and has picked
up ground on DB2’s Health Center features that were introduced in v8.1. Similar to DB2,
Oracle10g can automate jobs and associate them with predefined windows. System health is
measured by metrics, which are associated with warning and alarm thresholds. Response action
can be set up by individual scripts including manually defined notification or dependency
management. In DB2, responses can be associated with tasks defined in Task Center. Task
Center offers GUI-based flexibility of grouping and dependency management, along with
notification based on conditions, and does not call for manual implementation of scripts. Health
Center additionally offers a sensitivity level, allowing for a threshold to be passed by a tolerance
level without actually sending off the defined alert. V8.2 is additionally equipped with “Automatic
Maintenance” for policy-based backup, reorg and statistics gathering. The main differentiator here
is the capability of automatic utility throttling based on factors determined by the DBA. While

46
tool provided

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 43


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Oracle10g offers static text-based suggestions for handling of alerts, is lacks the ad-hoc and
interactive advisory capabilities of DB2’s Recommendation Advisor, also new in v8.2.
After having discussed very diverse areas of manageability, we will summarize the results in the
47
following table :
Criteria Leader Challenger Follower
Usability / user interface DB2 UDBv8.2 / Oracle10g
SQL Server 2000
Installation / configuration DB2 UDB v8.2 / Oracle10g
SQL Server 2000
Multi-server admin DB2 UDB v8.2 / SQL Server 2000
Oracle10g
Space management DB2 UDB v8.2 / SQL Server 2000
Oracle10g
Backup/recovery/undo DB2 UDB v8.2 / SQL Server 2000
management Oracle10g
Resource management DB2 UDB v8.2 Oracle10g SQL Server 2000
Performance management DB2 UDB v8.2 Oracle10g SQL Server 2000
Schema management Oracle10g SQL Server 2000 DB2 UDB v8.2
Cross platform object management Oracle10g DB2 UDB v8.2 SQL Server 2000
Application concurrency / locking Oracle10g DB2 UDB v8.2 SQL Server 2000
Security management Oracle10g DB2 UDB v8.2 SQL Server 2000
Exception Management and DB2 UDB v8.2 Oracle10g SQL Server 2000
Automation (aka autonomy)
Least overall complexity SQL Server 2000 DB2 UDB v8.2 Oracle10g

Figure 2 Manageability Summary


At the beginning of this chapter we asked the question: Is the DBMS more manageable when it
delivers the least complexity at the price of system capacity? Or is the DBMS that handles
complexity in an elegant fashion, serving high-end requirements more manageable? It depends.
Overall, SQL Server appears to be the product with least complexity, making administration easier
for less experienced DBAs. Although DB2 and Oracle equally support a number of sophisticated
features and are therefore more complex than SQL Server, DB2 appears to manage its complexity
with less parameter and configuration details than Oracle. This is especially apparent within
performance and resource management.
Many improvements in the area of “autonomous computing” have made it possible to mask much
of DB2’s own complexity, making DB2 a viable alternative to SQL Server in small-medium
environments.
SQL Server is generally perceived to be the most manageable DBMS. However, this perception
can only be seen as true for small-medium scale environments. The manageability areas SQL
Server shows deficiencies in are relevant for medium-high-scale implementations. They result out
of restricted flexibility in some areas of database management. For small-medium sized
applications, these restrictions will not play a significant role. Here, manageability profits from
lesser overall complexity. In DB2 many improvements in the area of “autonomous computing”
have made it possible to mask much of DB2’s own complexity, making it a viable alternative to SQL

47
No distinction made between Features and Options

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 44


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Server in small-medium environments. For larger scale implementations, SQL Server’s missing
flexibility can be unfavorable.
In summary, for small-medium implementations, due to the manageability enhancements in DB2
v8.2, we see a tie between SQL Server and DB2 in manageability, followed by Oracle. For
medium-large implementations, we see DB2 in the manageability lead, challenged by Oracle and
followed by SQL Server.

5.5 Application Development


Application development (AD) support is not solely a database matter. Many of the obligatory
functions are provided by application development environments. The developer defines usability
of the database component by the degree the development tool has integrated the database and
not vice versa. This is perhaps one reason why Oracle (with PL/SQL) and Microsoft (with Transact
SQL and MS specific AD standards like ADO) have in the past been perceived as providing
extensive programming environments for their DBMS, establishing quasi-standards for their
specific DBMS-related application development hegemony. IBM likewise provides their own AD
tools. In addition, IBM has taken great care to equally support various tools and environments on
heterogeneous platforms. This has been fed by a steady utilization of AD-oriented enhancements
and industry standards.
As a result, DB2 provides the widest range of APIs, compilers, and stored procedure language
support. This includes state-of-the-art IDE48 environments and AD paradigms like Java
frameworks (J2EE) and Web Services, as well as Microsoft’s ADO.NET, OLE DB and MS object
models. DB2 also supports classic languages i.e. Perl, REXX, Fortran, Cobol. New in v8.2 is the
ability to write stored procedures and UDFs in any Microsoft CLR49-compliant language, i.e. Visual
Basic .NET and C#. DB2 is the first database to ship this support, and is even well ahead of SQL
Server, which is scheduled to have this support in the 2005 version scheduled for later next year.
Stored Procedures written in SQL PL do no longer depend on a C/C++ compiler and are stored
natively in v8.2. DB2 is the only DBMS that supports true static SQL. While Oracle provides
similar support for OLE DB, MS ADO, C/C++ and Java, both CLR-compliance and some classic
(Cobol, Fortran) options found in DB2 are missing. Both provide JDBC Type 2 and 4 drivers in
support of JDBC 3.0 features that are JDK 1.4 compliant. SQL Server, however, is exclusively
focused on Microsoft AD paradigms.
DB2 includes development tools out-of-the-box that Oracle and Microsoft only provide within their
separate IDE. DB2’s Development Center is a tool that replaced Stored Procedure Builder in v8.1
and supports the entire DB2 family ranging from the workstation to z/OS. With Development
Center, you can create, build and deploy stored procedures and UDFs, and work with database
objects. It also provides development add-ins for Microsoft Visual environments, which have been
enhanced in v8.2. With an expanding number of complex features being available with SQL,
writing complex SQL is becoming an increasingly important and difficult task. SQL Assist, likewise
shipped with DB2, is a tool providing assistance in syntax checking and testing complex queries.
Beyond supporting the application developer, the Development Center allow DBAs to implement
logic based on the database without needing to resort to complex IDEs they otherwise would not
require. SQL Server 2000 comes with Query Analyzer, a widely used utility for working with
queries and scripts. In the Oracle environment, DBAs would need additional tools to accomplish
these tasks.
Another area a database can deliver value to the programmer is by supporting data types and
standard SQL components. These allow the implementation of business requirements in an easy
and efficient manner. Oracle has added terabyte-size LOB support (8-128 TB depending on
database block size), although this is restricted to certain APIs. LOB support in DB2, and the
TEXT and IMAGE data types in SQL Server are restricted to 2 GB. Oracle now supports a native

48
IDE Integrated Development Environment
49
CLR Common Language Runtime

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 45


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

floating-point data type, a feature that was already offered in DB2 and SQL Server. As the SQL
standard continues to evolve, all DBMS vendors deliver ongoing enhancements to their products in
this area. Oracle10g introduces Regular Expressions (specifying patterns for search in string data
using POSIX ERE syntax) and the Expression Filter, allowing you to store conditional expressions
in a table column and ensuring the values are valid expressions by placing a constraint on such
VARCHAR columns. On the DB2 v8.2 side, support for SQL4-standard
“INSERT/UPDATE/DELETE FROM SELECT” and “SELECT FROM INSERT/UPDATE/DELETE”
has been added, allowing for more efficient transaction processing by doing more in one SQL step
and thereby generating fewer I/Os and avoiding contention. Another enhancement is SQL4
MERGE that is available in “Update” and “Upsert” flavors.
All databases in question offer table editing, ad hoc query and query explain facilities to support of
test and optimization. DB2 and Oracle enable simulation of large data volumes by allowing
updates on database manager statistics; SQL Server lacks this feature. Oracle can claim the lead
when it comes to management and evolution of database objects in different application
environments. This is because of online schema evolution and extended alter table and replace
view functions. Oracle Workspace Manager, whose features have been further enhanced in 10g,
provides an infrastructure that lets applications create workspaces and group different versions of
table row values in different workspaces. Both DB2 and Oracle have strengths when it comes to
managing test data with sophisticated utilities. The SQL Server DBA will most probably need to
use application logic (i.e. DTS, SQL) to implement the test data management needed.
DB2 has followed the same architectural precepts when implementing extensions to the database,
making these easy to understand and use50. Portability is a strength of DB2 on LUW platforms.
However within the DB2 family, differences in available functionality can apply (meaning between
DB2 for LUW and DB2 for z/OS) and this limits portability somewhat between these platforms.
Portability is Oracle’s strength, one product supporting all available heterogeneous platforms.
Architectural concepts have not been realized as consistently as in DB2 when implementing
extensions – many require use of different, Oracle-specific SQL extensions. This adds to
complexity from an AD perspective. SQL Server has a very homogeneous AD approach;
implementation is restricted to the Windows platform.
From the application developer’s perspective, a database isn’t favored because of built-in AD
support. Here the question is how well a DBMS integrates into an individual development
environment. An application developer will usually favor an IDE that masks database complexity,
allowing for concentration on the programming task. While this is understandable from the
developer’s perspective, it can lead to implementation of sub-optimal solutions from a data
management perspective. Issues concerning the application’s data model not adequately
addressed in early development phases can become very expensive if they arise to real problems
(i.e. performance- or manageability-wise) in later phases. Detailed evaluation of IDEs is a study
on its own and beyond the scope of this paper. However, understanding the AD strategies and
concepts the DBMS vendors follow is an important issue when you seek a DBMS that integrates
well into your chosen IDE.
Microsoft offers an IDE with Visual Studio and the .NET standard for internet applications. While
very Microsoft-specific and limited to the Windows platform, it is well-known and accepted among
many developers. The competing development paradigm is the Java-based J2EE standard that
enjoys a fast growing and strong community. DB2’s offers both Java-based integration into
Websphere Studio and WSAS as well as a certified solution for .NET and integration into Visual
Studio. DB2’s sophisticated support of .NET has recently earned positive attention in the
marketplace. The developer can choose among ADO .NET data providers in support of 3 different
access methods, and can take advantage of various add-ins to Visual Studio .NET to get of
seamless DBMS integration. Oracle tolerates both worlds, but leans more towards its own Java-
based tools that trail in market adoption. 10g added an Oracle Data Provider for .NET (ODP.NET),
but lacks the Visual Studio integration DB2 has to offer.

50
This is handled in more detail in chapters “Integration”, “Connectivity and Interoperability” and
“Content Services and Extensions”

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 46


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

As mentioned, we did not evaluate IDEs in detail, but rather focused on the technology the DBMSs
in question offer to enable adequate AD support and integrate well in IDEs. From a technology
and DBMS product offering perspective, DB2 has advantages over Oracle, while SQL Server trails
behind both. Oracle and SQL Server both integrate well into their individual IDE worlds as
described above. Only DB2 comprehensively supports both worlds and integrates into market-
leading IDEs. However, this does not necessarily reflect market perception and current adoption
among developers. Oracle and Microsoft AD communities have been established for years, and
the technology is especially well known to young developers. This history leads to widespread
community support and usage, although DB2 is very quickly catching up.

5.6 Business Intelligence


Business Intelligence51 (BI) has become a critical element of information technology. BI is widely
understood as the technology that enables an enterprise to understand its business by analyzing
business operations. To do so, you must collect information about business activities and
customer behavior, usually from heterogeneous sources (i.e. from your backend and frontend IT
systems, desktop data, and perhaps even externally from partners or market research). This
information is then fed into an integrated database (data warehouse) and kept current on an
ongoing basis. You can then apply special analysis techniques to this information to gain insight to
your business, which will lead to insights for improvements.
A wide range of technology is needed to support BI processing. For many years, BI was
implemented with a loose collection of tools from many different vendors. Today, business
intelligence technologies have become more tightly integrated. Database vendors play an
important role in establishing business intelligence platforms: data warehouses tend to contain very
large volumes of data and must support ad hoc access by many users, domains typically
addressed by leading DBMS. However, a DBMS alone will most probably not be able to address
the full ranges of BI technology needed, as fields need to be addressed that do not belong to core
DBMS competencies. While a full-integrated approach would seem appealing from a usability
perspective, such solutions often fail to reach the level of high-end technology needed for certain
business requirements and addressed by best-of-breed approaches. As such, it would not be
sufficient to rate a DBMS’ capabilities from a DBMS-only perspective. However, a deep technical
evaluation of the full range of these vendor’s BI offerings would be beyond the scope of this paper.
Depending on individual requirements, data warehouses can become exceptionally large,
databases growing to sizes far beyond OLTP databases52. Queries executed on warehouses are
on average much more complex and resource intensive than OLTP transactions. This is why it
would not be sufficient to evaluate the BI capabilities handled in this chapter on their own. When
dealing with requirements for large volumes of data and complex analysis, scalability and
performance capabilities will perhaps play a more important role than direct BI functionality. These
aspects have not been considered in this chapter’s rating, since they are covered in their
respective chapters in this paper53.
An integrated business intelligence platform should support the following areas :
Warehouse Servicing. Servicing includes capabilities to design, as well as extract, move,
transform and cleanse data from heterogeneous source systems into, the warehouse schema

51
Business Intelligence and Data Warehousing will be used as synonyms in this paper and will be
understood as the combination of data warehouses and/or data marts and the analytical facilities
accessing that data in support of decision making.
52
According to Gartner, “very large” data warehouses are of > 1 TB and “very complex”
warehouses include >1,000 tables (Gartner’s “Data Warehouse DBMS Magic Quadrant” 2003
53
For a competitive analysis of “ability to execute”, we recommend further reading in Garter’s “Data
Warehouse DBMS Magic Quadrant” and the Survey.com report “Business Intelligence & Data
Warehousing High End Competitive Analysis Report 2002”, August 2002

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 47


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

54
(a.k.a. ETL process). A wide range of predefined transformations is desirable, and the
platform should also allow for individual extensions.
Warehouse Management. The core issue
in warehouse management is data
management. This includes both relational
and dimensional modeling strategies. A
repository including data descriptions,
where it is sourced from and how it is used
is valuable. Interfaces should be available
for exchanging this metadata with other
areas of the warehouse platform. Facilities
for automating warehouse management
complete this area.
Warehouse Access. Analysis methods in support of business user requirements include query
& reporting, OLAP and data mining. Complex BI applications need updateable cubes,
forecasting and what-if analysis. From a database perspective, this mainly involves supported
APIs and read/write access for relational and dimensional data.
Taking a glance at the BI offerings of IBM, Oracle and Microsoft, it is important to understand that
very different packaging and pricing propositions apply. While Microsoft follows an approach of
including all BI components in their SQL Server offering, both IBM and Oracle offer various
components as additional offerings. Yet while for DB2, a special packaging is available for those
seeking targeted Business Intelligence functionality55, Oracle lacks such a specialized offering.
This discussion will focus on functional support of the BI platform rather than packaging and
pricing. It is important to understand that the all-inclusive nature of SQL Server, as it relates to BI,
is central to its appeal. Similarly, the DB2 Data Warehouse Edition package delivers a wide range
of BI functionality for a very competitive price.
While there are a number of database utilities in support of warehouse servicing that this paper
handles are to be found in other chapters (i.e. “Availability”, “Manageability”, “Connectivity and
Interoperability” with functionality in support of data movement and heterogeneous access), here
we will focus on ETL add-ons.
Integrated Support of Sources
DB2’s Warehouse Center/Warehouse Manager56 products support a large number of
heterogeneous source types including all leading DBMS, Red Brick, Teradata, OLE DB, MS
Access and Excel and SQL Server DTS Packages. While DB2 Warehouse Manager offers agents
for various platforms in support of remote data access, the Warehouse Center Server itself is
restricted to the Windows platform. DB2 Information Integrator (option) adds DB2-integrated
support for Oracle, Teradata and Sybase, allowing for query optimization and rewrite by the DB2
optimizer. This level of native source support is unmatched by either SQL Server’s DTS57 and
Oracle’s Warehouse Builder, although Warehouse Builder can be extended by Oracle’s
Transparent Gateway and EDA SQL Gateway (both additional options). SQL Server’s DTS is able
to access a wide variety of data sources via its OLE DB.
The primary function of Warehouse Builder 10g is to support the 10g database. An updated
version of Warehouse Builder is planned for the end of 2004.

54
ETL stands for extract, transform and load
55
DB2 Data Warehouse Edition, available as Standard and Enterprise Editions
56
DB2 Warehouse Center is a feature of DB2 UDB and provides capabilities for the local server.
DB2 Warehouse Manager is an option of DB2 UDB (additional fee) that extends Warehouse
Center to locations other than the Warehouse Server (with Agents) and provides additional ETL
functionality.
57
DTS Data Transformation Services, packaged with SQL Server 2000

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 48


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Data Transformations
All three ETL solutions offer a number of predefined steps integrated to their graphical user
interface for designing ETL processes. In the SQL Server environment, transformation logic is
implemented as ActiveX components – primarily via hand coded Visual Basic modules. Oracle
supports PL/SQL development and delivers various transformation templates for PL/SQL
generation. Generation of ABAP code for access of SAP data is also offered, and an SAP adapter
was recently announced58. Oracle’s “Name and Address” component provides name and address
data cleansing59. In DB2, you can implement individual stored procedures as well as choose from
various predefined transformations. Both Oracle and DB2 have been tested and enabled to work
with Trillium and Ascential Integrity software for data cleansing.
Warehouse Management: Relational60
In the area of warehouse management, all three DBMS support relational schemas and offer SQL
extensions for analyzing relational data in an OLAP-like manner (cube-like aggregations with
Rollup and Cube and statistical functions). This includes SQL extensions for grouping,
calculations, recursive selects and handling of aggregations on results sets. DB2 and Oracle lead
with SQL-standard compliant, strong implementations, although Oracle also offers additional, non-
standard additions. DB2 Cube Views allows you to define individual aggregation scripts on all
levels of the dimensional schema. Oracle10g adds SQL MODEL calculations for in-memory,
complex calculations on multidimensional arrays. In the SQL Server world, many of these
functions are exclusively available through Analysis Services and MDX, which restricts their usage
to data modeled as cubes and corresponding APIs. Aggregation management for relational data is
available in all environments – handled in more detail in chapter “Performance” – DB2 holds the
lead with the most sophisticated offering.
Warehouse Management: Dimensional
SQL Server’s OLAP implementation, MS Analysis Services, is the strongest part of Microsoft’s BI
offering. It consists of an API for applications (discussed further below) and adds dimensional
storage to the relational SQL Server model. This storage can be relational (ROLAP) or
multidimensional (MOLAP) in nature. When cubes are partitioned (distributed among various
physical nodes to boost performance), you can specify HOLAP storage, which omits the replication
of detail data to remote nodes (a drill-through on a local partition will then result in remote access
of the detail data). ROLAP cubes can be defined as real-time with synchronized updates from
source data. Cubes can be defined as write-enabled, linked (join of cubes) or virtual (will be
generated when accessed). Dimensions can be defined as “shared” – in this case dimension data
is stored outside of the cube allowing usage in more than one cube. However, access to
dimensional data is limited to Analysis Services and MDX.
Oracle’s approach to OLAP is based on Oracle Express’ multidimensional storage, a MOLAP cube
architecture subsumed into Oracle 9i with object-relational technology. An added metadata layer
allows a conceptual description of cubes, enabling cubes optionally to be stored in a relational
format. Aggregates on both ROLAP and MOLAP cubes are supported with materialized views
(MVs), although a special syntax in support of the OLAP API must be used when creating them on
MOLAP data. In Oracle9i, conceptually equal MVs on ROLAP and MOLAP data were not
recognized by the optimizer due to differing syntax in MV creation. Oracle10g solves this issue
with its “Query Equivalence” offering, giving the DBA the possibility to tell the optimizer that 2 query
types of heterogeneous syntax are in fact conceptually “equal”, enabling query rewrite of queries
written in Oracle-specific relational-dimensional syntax to be rewritten to OLAP MVs and vice-

58
Option, will be available at an additional fee
59
Option available at an additional fee
60
warehouse management: relational and dimensional will be viewed in this chapter from a
conceptual and functional point of view. It is important to understand that for high-end BI
implementations, scalability and performance will play an at least equal, if not even more important
role when implementing BI solutions.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 49


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

versa. Oracle10g has also added partitioned multidimensional data types, in support of large
MOLAP objects.
DB2’s Cube Views, announced on May 13 2003, makes DB2 “OLAP Aware”. Cube Views add
OLAP metadata to DB2. DB2 Cube Views optimizes the best possible MQTs in support of
multidimensional queries. SQL requests from end user front end BI tools can see significant
performance acceleration. Various ETL and OLAP partners have committed to support metadata
exchange, extending DB2’s OLAP capabilities to other solutions. DB2’s optimizer benefits from
Cube Views, extending MQT61 usage. Cube Views is compatible with many business partner
products that support access to DB2, including DB2 OLAP Server (based on Hyperion Essbase),
Cognos, Business Objects and Microstrategy62. DB2 OLAP Server is IBM’s MOLAP offering.
While Cube Views’ ROLAP strengths are in ease-of-use and scalability for large data volumes
based on the “pure vanilla” relational DB2 technology it is built on, DB2 OLAP Server addresses
high-end, complex and computational-heavy OLAP requirements.
For professional data warehousing, data management will include both relational and dimensional
data. Multidimensional data has traditionally been equated with MOLAP63. For many years, these
areas have been domains of different vendors and technologies. Relational data was stored on
leading RDBMS. For OLAP analysis, most OLAP front-ends have been based on fairly proprietary
MDBMS storage. While MDBMS have strengths in well-performing, complex access of small-
medium data volumes, RDBMS have advantages in managing large data volumes. This includes
aggregation and summary management that has been addressed by all three DBMS’ discussed in
this paper. Considering that the TCO of data warehouses mainly has to do intelligent data and
data replication management, centralizing both relational and dimensional data into an RDBMS
appears to be of advantage. Success of this approach will depend on how well vendors of OLAP
front-ends will adopt the available API’s for accessing dimensional data in RDBMS (MDX or SQL,
see also below under “warehouse access”) and the interfaces for exchanging OLAP metadata.
DB2 appears to be well-positioned in this area, based on its ability to execute on large volumes of
data paired with the Cube Views concept. The adoption of this method by various OLAP vendors
seems to underline this.
Metadata Management
Warehouse metadata management, a central aspect in overall BI management, is supported in
SQL Server by an extension to the Microsoft Repository. OIM-based XML documents (OIM XML
Encoding Format) enable metadata exchange64. Both DB2 and Oracle support the CWM65
standard and XMI-based exchange of warehouse metadata. With Cube Views, DB2 offers a
metadata bridge to leading OLAP vendors. DB2 also supports business metadata with DB2
Information Catalog.
Automation
Scheduling of ETL and Administration processes is a key component in warehouse management.
DB2’s Warehouse Center, SQL Server’s DTS and Oracle’s Warehouse Builder (together with
Enterprise Manager and Oracle Workflow for dependency coordination) all support task
scheduling. While DB2’s Warehouse Center has added significant extensions in dependency

61
MQT Materialized Query Tables
62
DBTA Five Minute Briefing, Anant Jhingran, IBM's director of business intelligence, “Cube Views
is intended to enhance of the efficiency and the effectiveness of front providers such as Cognos,
Business Objects, and MicroStrategy, not to replace them. "Each front end tool draws against a
subset of the data," he said. Cube Views establishes a master cube that the front-end packages
can draw on. "The data warehouse becomes a great back end for all the front end packages," he
said.
63
meaning OLAP analysis based on multidimensional storage with largely proprietary MDBMS
64
Microsoft also supports XIF (XML Interchange Format) for backwards compatibility
65
CWM Common Warehouse Model by OMG; OIM by MDC merged into CWM in 2000

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 50


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

management in v8.1, Oracle can still claim advantages. Similar to Oracle, SQL Server’s DTS
supports packaged workflow, extendable with ActiveX scripts.
In terms of warehouse access, query & reporting is serviced in all three DBMS by traditional
support of ad-hoc SQL. In terms of front-end query tools, Oracle10g offers HTML DB for
developing database applications, although it can not be considered a true reporting tool. DB2
packages Office Connect Web Edition with DB2 Data Warehouse Edition. This includes MS Excel
add-ins both for query & reporting and OLAP, and allows for web deployment of MS Excel reports.
Microsoft has just recently enhanced the SQL Server offering by Report Services. Similar to
Analysis Services, this tool integrates into .NET and offers a development and deployment
environment for enterprise reporting. With English Query, SQL Server provides a single feature
unmatched in DB2 and Oracle environments. It gives users the ability to pass user questions,
written in English, about information in a database to the English Query engine. In all cases, usage
of relational OLAP extensions to SQL is dependant upon the front end tool being used.
OLAP Applications
MS Analysis Services has proliferated quickly in spite of limitations. Analysis Services applications
are sometimes based on Oracle or DB2 as the foundation database and use OLE DB to federate
the access to data. This is driven by limitations on concurrent users or complex queries in SQL
Server. MDX, Microsoft’s API to dimensional data, provides a rich syntax for the retrieval and
manipulation of multidimensional data. This API, supported by a growing number of 3rd party
OLAP vendors, appears to be becoming the “quasi standard” for access of OLAP data. PivotTable
Services (client-level) enable creation and access of local cubes, a functionality that can be of
great benefit to complex BI applications. However, it is noteworthy that it is not possible to access
“traditional” relational tables from Analysis Services, just as it is not possible to access dimensional
data from Report Services (even when it is stored in ROLAP format). Oracle’s OLAP interfaces are
rather proprietary and Oracle-specific: OLAP API for Java and Stored Procedure Packages in
support of OLAP DML are available. SQL access with table functions or views encapsulating O/R
MOLAP implementation can also be enabled. 10g’s Query Equivalence adds to these features by
making relational and OLAP MVs available to the respective “other” application types and APIs.
DB2’s Cube Views first release currently available allows for SQL access (with or without OLAP
extensions) or any SQL based API interface like JDBC or ODBC. New to DB2 Data Warehouse
Edition v8.2 is Alphablox. Alphablox components provide a powerful, open standards-based
development platform that enables organizations to build customized, cost-effective analytic
applications. These capabilities include, but stretch beyond typical OLAP applications. Alphablox
supports various APIs, including MDX.
Data Mining Applications
Data mining is done in two ways: as workbenches or embedded in the RDBMS. In a DB2
environment, mining is supported by extensions to the DBMS (DB2 Intelligent Miner Modeling,
Visualization and Scoring66), where it is invoked by SQL. Oracle10g Data Mining’s67 Java-based
API likewise enables application access to mining functionality. Both DB2 and Oracle are PMML
enabled for import and export of mining models. DB2’s data mining algorithms are very mature,
having been first released in 1997. Additional algorithms are available in a separate mining
workbench. Oracle’s mining algorithms were recently redeveloped from their Thinking Machines
Darwin roots. They use Bayesian mathematics and are offered as embedded database extensions
only. DB2 data mining offers approximately 10 mining algorithms whereas Oracle offers basic
algorithms. SQL Server’s implementation does not fully compare to either on mining methods, but
offers a good integration in Microsoft’s development environment. None of the Microsoft
algorithms currently run in parallel or as part of the SQL Server SQL language.
Overall, SQL Server has a very integrated and sophisticated toolset packaged inside of the DBMS.
Its ease of use and set of integrated BI tools make it an attractive offering. In contrast, both the
DB2 and Oracle offerings include additional options to the core database product. The Oracle BI

66
Packaged with DB2 UDB Data Warehouse SE and EE V8.2
67
Option

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 51


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

solution is strong, but is the most complex, proprietary and difficult to use. DB2’s BI architecture
embraces high-end technology and is very open, allowing for integration with other best-of-breed
ETL, data cleansing and front-end tools. Although lacking direct MOLAP support, DB2 allows for
enhanced inter-operability with market leading OLAP Tools from 3rd party vendors with Cube
Views, promising high-scale, well-performing ROLAP. In direct comparison, we would recommend
MS Analysis Services over Oracle 9i Express as an OLAP solution for small scale
implementations. DB2 Cube Views has advantages against both and appears to have the
capability to support high-scale environments, but being a brand new feature, needs yet to be
proven in production. While SQL Server can be seen as the leader for small-medium scale BI
environments based on its strengths in integrated functionality, it lacks the capability to support
high-end BI requirements. For these areas, the DB2 offering complemented by best-of-breed IBM
and partner products can be seen as the strongest in the comparison. Oracle’s core DB engine
has strengths in comparison with SQL Server for achieving good performance in medium-scale BI
environments68. Although Oracle’s BI solution offers many features, integration is not solved as
well as with DB2 and SQL Server.

5.7 Integration
Traditional relational databases support structured, relational data. With growing requirements to
integrate other data types and infrastructure IT components, database vendors have responded to
this with different architectural approaches. Oracle, positioned in the universal database arena, is
aiming for full integration into the database. SQL Server is following the relational/middleware
approach, connecting non-relational components through additional middleware layers. DB2 is
actually doing both: solutions can be tightly integrated into the database, others provide
middleware and some even offer the choice between tight and loose integration.
Please note that this chapter and the following chapters “Connectivity and Interoperability” and
“Content Services and Extensions” are very closely related and can contain references to each
other. For this paper, we will define “integration” as the ability of a DBMS to communicate with
other applications by means of:
‰ XML documents,
‰ Messaging and
‰ Web Services.
XML Support
All three DBMS’ in question have built-in XML support, but have implemented this in very different
ways.
SQL Server supports storage of XML documents as unstructured binary data type, but can not
process these documents directly. Extensions are available, allowing for generation of XML
documents from relational data as well as loading the structured raw data of an XML document into
the database. In Transact-SQL, the “FOR XML” and “OPENXML” clauses provide these
possibilities. Additionally, you can use XDR69 schemas that represent a logical view of the tables in
your database. Web applications can then reference these schemas in Xpath queries to build XML
documents. SQL Server supports both Xpath and XSL. An XML parser is provided by Microsoft
as part of the Data Access Services, but is not implemented directly into SQL Server.
Oracle’s XML DB implements XML functionality with O/R extensions. You can store XML data
either as an unstructured CLOB or as a structured XMLType table. Relational data can be mapped
to XML with XMLType views, although these are not always updateable. XML DB’s XML Schema
support allows for JavaBean generation and – with Oracle10g – schema evolution support. Both
XSLT and Xpath are supported. API’s are available for accessing XMLType in SQL, PL/SQL and

68
Rated in chapter „Performance“
69
XDR XML Data Reduced

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 52


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Java. Additional operators for optimized querying are available with Oracle’s Text option (search
and indexing engine).
The XML Extender of DB2 offers two methods for handling XML data. You can store documents
as objects with the XML columns method. Alternatively, you can decompose XML data and store
in relational tables with the XML collection method. Relational/XML mapping is defined with DADs
(Document Access Definition). XML Schema70, XSLT and Xpath are supported standards.
Querying XML data is supported by UDFs allowing storage, retrieval, extraction and update. DB2
Net Search Extender adds text indexing and linguistic search capabilities suited for ad hoc
querying of unstructured XML documents.
DB2’s XML support is the most straightforward and easy to understand, and supports both XML
documents and direct decomposition into relational data. Oracle’s implementation is functionally
rich, but more complex than DB2’s. SQL Server supports an XML interface, but can not manage
XML documents directly. Interfaces to XML data are proprietary for the Windows platform.
Message Queuing
In the Microsoft programming environment, Message Queuing is supported by the operating
system, not by the DBMS. Writing to message queues is a matter of the application, although DTS
does support sending messages between DTS packages with “Message Queue Tasks”. In
contrast, DB2 supports a direct API to IBM’s messaging solution MQ Series. Functions are
provided for direct communication with MQ to publish, subscribe, unsubscribe, send, receive and
read. Oracle’s Advanced Queuing is not a separate product, but a fully integrated feature of the
database. Database queues serve as a durable store for messages, allowing publish and
subscribe.
Both DB2 and Oracle provide comprehensive integration of messaging capabilities including XML
support based on the XML additions discussed above. SQL Server lacks direct messaging
integration, as messaging is only available directly to the application.
Web Services
There are mainly 2 approaches to implementing standardized web services :
‰ .NET (Microsoft-based) and
‰ J2EE (Sun’s Java-based)
While you would typically publish services out of an application environment, in some cases
enabling database functions (i.e. stored procedures, UDFs) or a query facility to be used as web
services is optimal. All three DBMS allow you to do this, however, you would usually wrap DBMS
functions from within the development environment71 and use the application server’s72 capabilities
to publish and deploy these as web services.
In the previous version, Oracle was only able to act as a web service requester through its built-in
JVM. To act as a web service provider Oracle’s application server was needed. With Oracle10g
and the integration SOAP client, the database itself can provide web services on Java Stored
Procedures, PL/SQL and table functions. The database can also send XML documents to Oracle
AQ Queue via HTTP and SOAP, enabling these messages to be processed by applications.
However, Oracle’s approach to web services seems restricted to the J2EE approach, as we have
not seen any reference to support of .NET.
DB2 can act as both service requester and service provider with WORF73 support out of the box.
WORF uses SOAP and DADX to create simple XML based web services that access DB2 data

70
as an alternative to DTDs
71
IBM’s Websphere Application Developer, Oracle’s JDeveloper, Microsoft’s .NET development
tools
72
IBM’s Websphere Application Server, Oracle9i Application Server, Microsoft’s IIS
73
WORF Web services object runtime framework

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 53


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

74
and stored procedures. WORF supports both .NET and J2EE based requesters. When used in
conjunction with stored procedures and the federated database capabilities of DB2 UDB and DB2
Connect servers, this data access can be extended to include a wide variety of other data sources,
including non-DB2 mainframe data (such as VSAM, CICS, IMS), Informix Dynamic Server (IDS),
Microsoft SQL Server, Sybase and Oracle databases as well as any data source that has an OLE
DB Provider available. IBM has now integrated a small-size WebSphere Application Server
(Embedded Application Server) with no additional license costs for offering web service provider
functionality out of the box. For exploration of the web services directory a new standard was
released not too long ago and DB2 is the first DBMS that supports this standard.
SQL Server 2000 Web Service Toolkit helps make SQL Server a web service provider. You can
send HTTP requests to a SQL Server using SQLXML 3.0 and execute stored procedures, user-
defined functions, and template queries. IIS then formats data in SOAP-conform format with .wsdl
and .ssc files that are created when configuring the virtual directory. Data can be returned as a
.NET dataset or XML document.
Integration as defined in this paper is supported to a similar extent in DB2 and Oracle, although
there are strengths in DB2’s XML and web services implementations as described above.
Although SQL Server’s integration offerings are very easy to use from the perspective of a
windows developer, the implementations are windows-specific and not as functionally rich as those
of the competitors. This is most apparent with SQL Server’s XML support.

5.8 Connectivity and Interoperability


Massive amounts of data are stored in a fragmented manner throughout the business. Integration
of this data is critical in many scenarios. As an example, data needed for call center operation: you
will need access to customer data from various source systems, and integrate it with all customer
communication documents you have collected (fax, email, letters that have been scanned, and so
forth). You might even want to add purchased demographic data to support targeted marketing.
Today’s leading relational databases address these needs in various ways. We have grouped
these requirements into two categories. This chapter will discuss the distributed/federated
database and data replication approaches. The following chapter will handle “Content Services
and Extensions”.
With a distributed or federated database75 you can access objects in other remote data stores as
if those objects were local. Objects from different locations and DBMS can be accessed together
in the same query.
All DBMS’ support building distributed databases by collecting data from databases of the same
DBMS’ without the need for licensing additional products. But in today’s enterprises there is
usually more than one DBMS in use. It will be necessary to integrate application data from
heterogeneous data stores for use in a business case.
DB2 Information Integrator 8.276 is used to integrate relational77, non-relational78 and business
application data sources79 into the DB2 environment. The technology is based on wrappers, which

74
Has been .NET certified by Microsoft
75
These terms are usually used as synonyms. Sometimes, “distributed database” can refer to
distributed database locations of the same DBMS, and “federated database” can refer to
distributed database locations of different DBMS, in both cases accessible within one query.
76
DB2 Information Integrator V8.2 is a member of the IBM DB2 Information Integrator family of
products and was formerly known as Data Joiner, Relational Connect and Life Sciences Data
Connect. It is a separate product based on DB2 technology, appearing to the client as a normal
DB2 Server.
77
Relational sources: Informix Dynamic Server, Informix Extended Parallel Server, Microsoft SQL
Server, Oracle, Sybase, Teradata and ODBC data sources

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 54


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

implement the details of communication to specific targets. IBM delivers documentation and
samples to support the development of custom wrappers. to prevent the database engine from
being influenced of bad-coded wrappers, custom wrappers run in fenced mode. If you need to
reach out to unstructured data stored in a file system, DB2 offers a technology called Data Links
Manager. This product allow access and control of unstructured data residing in operating system
files – with support of referential integrity, backup, access control and replication. In conjunction
with DB2 Extenders (discussed in the following chapter “Content Services and Extensions”), Data
Links enhances database capabilities by enabling a connection to data stored outside of the
database and managing data integrity issues between the relational and unstructured data. With
these technologies, DB2 is positioned to be “the single point of access” to business data,
regardless of whether this data is stored inside or outside of DB2. Applications can operate on
data through a single, familiar programming interface (SQL).
Oracle’s route to distributed and federated databases is through its Heterogeneous Services
offering. This contains the products Oracle Transparent Gateways as well as Oracle Generic
Connectivity. Transparent Gateways80 provide connectivity to relational, non-Oracle DBMS. Data
sources referenced by ODBC and OLE DB can be connected via Generic Connectivity. Oracle’s
architecture for integrated access to unstructured and structured data differs from IBM’s. Oracle’s
Internet Directory, an integration layer above the DBMS, brings the file system and database data
together into a common directory.
SQL Server’s approach to building distributed databases for structured data follows Microsoft’s
81
strategy for connecting data sources via ODBC and OLE DB . With regard to unstructured data,
SQL Server follows a similar approach as Oracle. Database and file objects can be connected with
Active Directory.
To compare, DB2 supports the longest list of heterogeneous data sources. The available
technology continues to enhance the goal of DB2 being the “single point of access”. While
Oracle’s access technology for heterogeneous relational data sources embraces most of the
popular relational DBMS’, federated access to unstructured data is not supported. Therefore, we
see a clear advantage for DB2. In SQL Server, federation is defined only with relational data
sources available through OLE DB drivers,. a clear deficiency to both DB2 and Oracle.
Distributed transactions with two-phase-commit are supported by both Oracle and SQL Server,
provided that the remote DBMS supports this protocol as well. DB2 supports two-phase commit for
distributed DB2 transactions. For distributed, heterogeneous transactions, DB2 currently supports
remote update (one transaction can only update on a single remote database).
Providing an interface to heterogeneous data can involve mapping (SQL mapping) of data
properties known in one environment but not in the other. DB2 and Oracle both support default
mappings. In the SQL Server environment, mapping will depend on the OLE DB driver. In addition
to default mapping of types and functions, only DB2 supports individual mappings such as :
‰ mapping of a local function to a remote function (different name, same functionality)
‰ mapping of a local user defined function to remote user defined functions.

78
Non-relational sources: WebSphere MQ message queues, Web services, Microsoft Excel
spreadsheets, flat files, XML documents, OLE DB data sources, data sources accessable via
Entrez, Blast, HIMMER, BioRS, Documentum, data sources accessable by IBM Lotus Extended
Search such as Domino, Notes, discovery server, QuickPlace, SameTime, WebSphere Portal
Search Engine, KEGG-Data (Kyoto Encyclopedia of Genes and Genomes) and many more
79
Business application sources such as those produced by SAP, Siebel, and PeopleSoft via
WebSphere Business Integration wrapper
80
currently supported: Sybase, MS SQL Server, Teradata, Informix, Ingres, RDB, RMS, DB2 for
OS/390, DB2/400, DRDA, EDA/SQL
81
Tested providers include MS Access, MS EXCEL data sources, Oracle, DB2, MS Windows 2000
Directory, local file system through MS Indexing service.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 55


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Oracle is able to call remote user defined functions as well (this is new functionality in Oracle10g),
but there is no mapping functionality.
In order to enable transparent access to remote data sources, the DBMS has to handle transparent
authentication. DB2 and SQL Server solve this requirement with user mappings that map a local
user to a remote user/password. This concept appears more usable than Oracle’s, with the need
for identical user names and roles on all connected databases.
DB2’s “single point of access” approach also embraces strong performance optimizing technology.
DB2 supports :
‰ Metadata on remote tables and indices stored locally supporting distributed optimization
‰ Statistics on remote objects stored locally supporting distributed optimization
‰ Local materialized query views on remote data to minimize network traffic
‰ Access plan hint generation when the remote DBMS accepts hints.
Oracle’s optimization features for distributed query processing include local SQL query cache and
local catalog cache, but can not match DB2’s facilities. SQL Server does not support global
optimization.
When remote access to data does not seem viable, data replication can be the alternative method
for implementing interoperability. All three DBMS have done a lot of work to support data
replication in a comprehensive manner, whereby Oracle with Oracle9i and DB2 in their newest
version have added queue replication to their portfolio. Queue replication uses available and
proven queuing technology (IBM WebSphere MQ, Oracle Advanced Queuing) for data transport
82
and propagation . Replication scenarios such as one-to-one, one-to-many, many-to-one and
many-to-many take place in all DBMS by using relational techniques like projection, selection and
join. One big differentiator between the solutions is DB2’s good support of heterogeneous sources.
While registering the remote tables that should be replicated the system creates Change-Data-
Tables (CDT) and triggers that records every change made on the base table into the CDT. An
interesting option of DB2’s Q Replication is event publishing; every change on the base table will
be transformed into a XML message that will be queued for subscribing applications. Furthermore
files outside in the filesystem that are referenced by the DATALINK data type can be propagated
by DB2’s replication solution. Oracle and SQL Server support propagation of DDL on registered
tables, a feature not supported by DB2. The new “downstream capture” in Oracle allows for
minimal impact to operations while using replicated archived logs for data capture.
In summary, DB2 can be seen as the leader in this category. DB2 has significant advantages due
to the number of supported data sources, the ingenious optimization capabilities for distributed
queries and the sophisticated replication facilities. The concept of a “single point of access” seems
enticing from a user’s and application’s point of view and promises less complexity when accessing
federated data sources. DB2’s weakness is the yet missing support of distributed transactions in
heterogeneous environments, this is at the same time a strength for Oracle and SQL Server, which
both support 2-Phase commit. Oracle offers good support of numerous relational data sources.
SQL Server’s approach promises a wide range of data sources due to continuously increasing OLE
DB support in the marketplace. However, missing features in support of global optimization leave
SQL Server behind both DB2 and Oracle.

5.9 Content Services and Extensions


In the previous chapter we briefly addressed connectivity to unstructured data. In order to process
this kind of complex data, you need features that go beyond physical I/O and simple reading of
files. For example, when searching in text, you will want to do linguistic searches. Business
content you might want to integrate into the database could be:
‰ Operational content:
ƒ Scanned images

82
DB2 Q Replication is delivered as part of DB2 Information Integrator Replication Edition

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 56


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

ƒ Facsimiles
ƒ Computer generated output
‰ Workgroup documents:
ƒ Word processors
ƒ Spreadsheets
ƒ Presentation graphics
‰ Media assets:
ƒ Audio
ƒ Video
‰ Web content:
ƒ HTML, XML
ƒ Dynamic content
Relational database systems and SQL do not support complex data types per se. Data types are
available for storage of large objects (e.g. BLOB – Binary Large Object), but these do not enable
any type specific searches or allow for specialized access methods. Database vendors approach
integration of business content data in different ways. The universal database approach extends
the RDBMS with object/relational extensions. These can be used both for O/R application
development and to integrate complex data types into the DBMS. Oracle and DB2 follow this
approach. The federated approach leaves complex data types outside of the database. Additional
middleware is provided to allow access to these objects. This is SQL Server’s approach.
DB2 and Oracle both offer a wide range of object/relational extensions including stored
procedures, user-defined data types and user-defined functions in support of strong typing,
inheritance and method overload. These extensions can be used for O/R application development.
They are also the building blocks for complex data type extensions (e.g. for text, audio, video,
spatial, etc.) that can be “plugged” in to the database engine83. SQL Server does not offer
integrated object-relational features, although storage of unstructured data is possible with BLOB
and image data types.
Both DB2 and Oracle offer a set of pre-defined extensions addressing similar requirements:
DB2’s video, audio and image extender and Oracle’s InterMedia84 cartridge; DB2’s Spatial
Extender85, DB2’s Geodetic Extender86 and Oracle Spatial for handling of geographic data and
location-specific services; DB2’s Net Search Extender, Text Extender and Oracle Text for handling
and searching text data; DB2’s XML Extender and Oracle’s XML implementation rely on object-
relational features as well. Extender and data cartridge technology opens a market for 3rd party
extensions – we have seen a variety of available extenders, including currency, encryption,
security and optical products.

When developing extensions, it is important to provide clues to the database optimizer in order to
enable correct decisions for optimized extension access. Both DB2 and Oracle provide
mechanisms to do this.

With DB2, as part of a UDF definition, you can specify a number of attributes that the optimizer
uses (e.g. Cardinality, Deterministic, Allow Parallel). Furthermore, you can supply the optimizer
with detailed estimates of various kinds of costs associated with executing the UDF/stored
procedure. Indexes are likewise extendable. All features can be accessed with SQL.
Oracle calls its database extensions data cartridges. The extensible optimizer enables authors of
user-defined types and functions to create additional metadata (statistics collection, selectivity and

83
DB2 Extender, Oracle Data Cartridges
84
Extensions in Oracle InterMedia: documents of up to 128 TB storable; Metadata extract for
MPEG2/3; support of SQL Multimedia Still Image Standard
85
DB2 Spatial Extender is now free of charge
86
Unlike Spatial Extender, which treats the Earth as a flat map, Geodetic Extender treats the Earth
as a globe that has no edges or seams at the poles or the dateline.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 57


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

cost functions) available to Oracle’s optimizer. Extensible indexing allows creation of domain
indexes for indexing of data in application domains. The cartridge must maintain index content and
explicitly access the index on search operations. Both features are enabled and API’ed via ODCI
(Oracle Data Cartridge Interface). This allows for integration, but with relatively high development
effort.
DB2 and Oracle have similar capabilities in this area, although DB2 allows complex objects to be
physically stored outside of the database (for handling and performance), a feature not offered by
Oracle. SQL Server can not compete due to missing features.
Integration of content into the database is one matter – integration of content management
systems (CMS) another. CMS offer additional capabilities in support of requirements typical in
content-heavy application. These might include workflow, text mining and extended search.
Typically, CMS are products of their own and their evaluation beyond the scope of this paper, but
we will briefly address this topic.
IBM and Microsoft both offer additional products (DB2 Content Manager; Microsoft Content
Management Server) that address professional content management. Both store unstructured
data outside the database for optimal performance, handling and management, but store
describing metadata inside the relational DB. There is no dedicated CMS solution in the Oracle
portfolio, although Oracle9iAS Portal contains some CM features. Alternatively, you can develop
your own CM applications using DBMS functionality and perhaps additional products, e.g. Oracle
Workflow for workflow management. IBM’s vision for data management is to integrate structured
and unstructured data into DB2 via federation (see chapter ...), the offering here is the DB2
Information Integrator and integrates data from various sources including DB2 Content Manager.
In summary, Oracle’s and DB2’s capabilities in this area are quite similar each with a slightly
different focus. Oracle’s extensible optimizer and extensible indexing allow for a close handshake
between extensions and the Oracle optimizer, but usage of ODCI is complex and requires copious
individual development. As well with DB2, extending the optimizer and indexes is a part of
extender development. The tight integration with the DB2 optimizer apparently has limits because
of the fixed number of properties that can be set when creating a user defined function or method,
but is very usable in an efficient manner. SQL Server lies far behind because of missing object-
relational features.

5.10 Security
A company’s reputation and livelihood is at stake if it does not judiciously protect its systems and
the customer information held inside. In the connected e-business world, security issues have
become more pertinent than ever. Relational databases hold a significant share of enterprise data;
today’s database purchasing decisions must factor in security.
For databases, security consists of these two major topics:
‰ authentication or ensuring only accredited users connect to the database
‰ authorization or the permission to perform clearly defined functions against specified data.
The basis for system security is user authentication. As applications expand beyond the
enterprise, the need for strong user authentication techniques grows. Userid / password, keys and
biometric authentication are some of the solutions used to address the authentication problem. Yet
authentication is not solely a database issue. Authentication is needed at various levels of the
computing architecture, such as on the network and in the operating system. The problem of
authentication can be addressed in different modes. One way is heterogeneous, assembling and
storing authentication information in various places in the system. This can lead to the
administrative challenge of reconciling distributed and redundant information. A centralized
authority component can be charged with the certification of users. Other systems rely on this
authenticator. By the time a request hits the database, the user will have already been
authenticated multiple times by the system (network, operating system, web or application server,
business application, etc).

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 58


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

DB2 favors external authentication. DB2 always passes authentication requests to the operating
system and/or 3rd party products such as IBM’s Tivoli product line. To support this, DB2 has
employed in version 8.2 an open plugin architecture. This architecture allows for easy integration
of 3rd party or custom authentication plugins that allow for the extension of DB2’s authentication
capabilities. The authentication methods known from previous releases: operating system and
Kerberos (previously only available on Windows, now available on UNIX platforms too) have been
re-implemented using the plugin architecture. On the Windows platform, the depth of integration
into the OS authentication capabilities has been deepend.
While SQL Server does offer the DBMS authentication option, the preferred method is
authentication via the operating system (similar to DB2’s implementation). Microsoft’s overall
strategy (with components like Active Directory) appears to underline this as the favored method
for the future. It is worth mentioning that the operating system authentication integrates extremely
well with the operating system security features. The Kerberos framework is supported in
conjunction with Active Directory.
Oracle’s strategy here is to offer as many authentication methods as possible out of the box.
There is internal user authentication, operating system authentication and several network
authentication methods including smartcards and tokens built-in into the database.
As of the writing of this paper, Oracle’s strategy delivers the most authentication alternatives. DB2
now has the architecture to accelerate the integration of new authentication methods. This applies
not only for standardized 3rd party products but also for custom-developed authentication methods.
SQL Server favors tight integration with products supplied by Microsoft itself.
The following authentication scenario is becoming more common due to web-based applications.
Applications deployed in an application server use a single application user to authenticate against
the database. This is to increase connection sharing. In this case the user is authenticated only
against the application. It then uses the application user to access data. The DBMS does not
know which user is behind the request. This could be a problem in a BI environment when the
user is able run custom queries against the database. Oracle is the only DBMS that acknowledges
this scenario with proxy authentication technique that allows the application to pass a second
authentication id to the database for security checks and auditing.
Once a user is authenticated to the DBMS, it has to be verified that the user is authorized for
accessing the queried data and/or function in the request. Authorization is normally bound to
users and groups or roles.
In DB2, authorization can be applied to users or groups. Roles87 are only supported in the sense
of predefined system roles. When utilizing group authorization, attaching users to groups is done
outside the DBMS, i.e. in the operating system or through custom plugins. Oracle authorizes
based on users and roles. Oracle roles88 can be local to a database (database roles) or
enterprise-wide when managed with an LDAP89 compliant server. For SQL Server, there is a
distinction between a server login and database users: a user connection to a database is only
allowed when the server login is mapped to a database user. SQL Server utilizes operating
system group information directly without need for mapping.
In Oracle and SQL Server, you can define application roles that are only used for applications.
These prevent direct user access to tables and views. Although DB2 does not support roles,
applications can connect to the database with a virtual user-id that implements the necessary level
of access security.
Content and functionality control can be implemented at 2 different levels: object and row level.
Object level security is a central component of RDBMS technology and has been covered by all 3

87
Groups usually represent organizational dependencies in an enterprise, roles usually relate to
functional groupings.
88
Oracle roles allow both organizational and functional grouping and are granted to a user
89
Lightweight Directory Access Protocol

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 59


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

DBMS’ sufficiently for years. Views (with predicates or joins to implement security clauses) have
been the traditional answer to row level security and are supported by all DBMS90. Oracle offers
an additional, integrated implementation of row level security with Virtual Private Database (VPD)
and Label Security (OLS). VPD enables implementation of row level security into the database,
OLS manages the actual labeling of both users and data. These labels are directly compared
when accessing the data. This approach promises high performance during runtime security
checks. However, the manageability is at a disadvantage when security definitions are updated
(i.e. department split or join). In this case, labeling must be physically redone, meaning explicit
data updates. For further performance improvement Oracle added static and context-sensitive
policy execution strategies with 10g.
Protecting data stored in the database against unauthorized browsing is enabled for both DB2 and
Oracle by data or column encryption. SQL Server does not support data encryption. However,
encryption of login and application role passwords stored at the server and catalog information
(such as view and trigger definitions) is enabled.
Network encryption is addressed by all DBMS’: DB2 has added encryption of network traffic in
version 8.2, SQL Server has integrated SSL encryption into its net libraries and Oracle provides
SSL, DES and RC4 encryption with their Advanced Security option.
Another aspect of security policies is to ensure that users can be held accountable for their actions.
Auditing features in all DBMS’ address this. Auditing creates new information in separate tables
of the database, recording any user interactions. The implementations differ in relation to the
granularity of audit event specification. Flexible reporting on audit data is possible in all three
environments.
Oracle has continuously pointed out the importance of security certificates. Their 15 security
certificates are seen as the assurance that Oracle is unbreakable. No competitor is as active as
Oracle in this area – DB2 and SQL Server have 1 certificate each. Taking a deeper look, we see
that only none of its certifications apply to Oracle10g, all others apply to previous versions. DB2’s
Common Criteria certification applies to the current version, 8.2. Furthermore, security evaluations
seem to primarily assure the correct implementation of the promised features – in itself, this is per
se no assurance against attacks and security holes. Alerts tracked by www.cert.org seem to be a
more suited indicator for security holes and “breakability”. At the end of September 2004, we found
6 alerts for Oracle database and Enterprise Manager in 2004, more than 20 vulnerability and
incident notes for SQL Server and no alerts for DB2. A couple of security holes were detected in
DB2 by a private security company in August 2004 that were shortly thereafter plugged with a new
fixpak version91.
In summary, we see a clear leadership in this area for Oracle with its support for multiple
authentication methods, its unique row level security, its unique proxy authentication and its
support for enterprise users and roles. DB2 comes with advantages to SQL Server due to its new
plugin authentication architecture and the possibility to store data encrypted.

5.11 On-Demand and Grid-Computing


On-demand and grid computing are very tightly related. In today’s global and integrated computing
world, an enterprise must be able to respond with speed to any customer demand, market
opportunity, or external threat. Both technical infrastructure and the applications that run on it must
support this flexibility and be highly responsive to changes in the environment (customers,
partners, suppliers, employees, competition).
However, flexibility can be associated with high costs. Integrating disparate, heterogeneous
systems and networks is complex, and carries complexity costs. Available resources are also

90
IBM Partners offer Extenders for DB2 in this area, but they were not evaluated in this study (e.g.
Protegrity’s Data Element Wrapper for data security).
91
see http://www.nextgenss.com/advisories/db2-01.txt

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 60


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

associated with costs. Enterprises adjust their available computing power to adequately service
the peaks – in consequence, much of the available computing power is idle a large percentage of
overall time. This is where grid computing becomes of interest.
Gartner Research acknowledges grid computing and defines it as follows:
“Grids are collections of computer resources, owned by multiple organizations that are coordinated
to solve a common problem. These resources can be computers, collectively run extremely large
parallel-processing programs – typically used to solve the largest-scale problems found in scientific
and engineering computing. Another type of grid hosts a very large collection of data by spreading
it across many systems. Regardless of type, the key aspects of a grid are multiple resource
ownership and a single purpose – this distinguishes grids from previous distributed- or networked-
computing models.”92
Gartner moves on to explain that grid technology promises to deliver significant benefits for
broader commercial computing applications. However, grid technology is so far only being utilized
in the scientific world. Work is in progress that will let the technology mature.
Both IBM and Oracle93 have addressed grid computing. Grid-enablement of their technology is
underway. As a result, many sources can be found on their respective web sites, describing what
grid-enablement means from their respective perspective. In contrast, Microsoft appears to be
rather silent with regard to on-demand and grid computing, although with SQL Server 2005 pre-
announced to support clustered architectures, this might change in the near future.
To rate the 3 DBMS according to their grid-computing ability, we have to identify the characteristics
of a grid. Oracle’s view of a grid is defined by virtualization, policy-based provisioning and resource
pooling, and in this context the Oracle database is mainly defined as a cluster of database servers.
IBM defines grid computing from a far wider perspective and adds requirements in support of
integrated and open IT solutions enabling the on-demand business beyond the individual
enterprise. Here we would like to quote a source we found most complete from the DBMS
perspective94 and hope that the reader finds this structure equally useful as we did.
“The characteristics in support of grid-computing can be translated to the following technology
environment :
‰ Integrated
Beyond just transformation department by department, business processes and applications
need to integrate horizontally to link data, legacy systems, and custom applications, and this
integration requires new levels of data integrity and transaction processing. You will need an
infrastructure built on Web services, new development tools, and open standards.
Applications that had previously integrated vertically – with an operating system and stand-
alone processor – must now integrate horizontally, application to application. You will write
applications to the middleware layer, not to the operating system. Applications are being
decoupled from the underlying infrastructure.
‰ Open
In a networked world, you have to do more than simply integrate everything inside your
enterprise. You have to connect your enterprise with other enterprises, other business
processes, other applications, and countless pervasive computing devices. You can’t just rip
and replace your existing data, applications, and transaction systems to make them
homogenous with those of your business partners. Open specifications and industry
standards are the only realistic way that all of this can connect.
‰ Virtualized
Every organization that has made capital outlays for technology is sitting on enormous,

92
Source: Gartner Research, “Grid Computing Needs Work Before Widespread Commercial Use”,
03/31/03
93
Oracle names their latest products with a “g”, claiming for “grid-enabled” software
94
“e-Business on Demand: A Developer’s Roadmap” by Alfredo Gutierrez, Manager, IBM
developerWorks Developer Skills Program.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 61


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

unused computing capacity. Server consolidation and capacity-on-demand offerings begin


to address the issue of under-utilization. But now there’s an opportunity to virtualize the
entire data center with an emerging technology called grid computing. Grid computing
allows distributed computing resources to be shared and managed as if they were one,
large, virtual computer. Initially most grids are being built in government laboratories and
universities. From there, they will be implemented inside companies. These “intra-grids” will
allow enterprises to increase the utilization of their own computing assets.
‰ Autonomic
The upward spiral of complexity will soon exceed the ability of skilled technical, human
resources to keep up with it. The solution? Computing systems that take on more of the
management themselves. In the same way that the human autonomic nervous system
manages basic functions like respiration, autonomic systems will self-manage, self-protect,
balance workloads, install device drivers, and upgrade software. This requires innovation,
real science at both the component and overall system level.”
When breaking these technical characteristics down to DBMS requirements, you will find criteria
already discussed and evaluated in other chapters of this paper. The following table summarizes
these results from the on-demand and grid computing perspective:

Criteria Leader Challenger Follower


Integrated
Connectivity/Interoperability DB2 UDB V8.2 Oracle10g SQL Server 2000
Industry Standards (architectural) DB2 UDB V8.2 Oracle10g SQL Server 2000
Web Services DB2 UDB V8.2 Oracle10g SQL Server 2000
Portability Oracle10g DB2 UDB V8.2 SQL Server 2000
Open
Content/Extensions DB2 UDB V8.2 / SQL Server 2000
Oracle10g
Mobile Computing Supported by all three DBMS (no rating)
Industry Standards (application DB2 UDB V8.2 Oracle10g SQL Server 2000
development and APIs)
Messaging and XML DB2 UDB V8.2 Oracle10g SQL Server 2000
Virtualized (a.k.a. Grid Computing)
Clustered architectures Supported by DB2 UDB V8.2 and Oracle10g
(SQL Server 2000 has federated DBs, but no clusters)
Scalability DB2 UDB V8.2 Oracle10g SQL Server 2000
Availability
Oracle10g DB2 UDB V8.2 SQL Server 2000
¤ Planned Outages
Oracle10g / SQL Server 2000
¤ Unplanned Outages DB2 UDB V8.2

Partitioning Oracle10g DB2 UDB V8.2 SQL Server 2000


Autonomic
Self-Configuring DB2 UDB V8.2 / Oracle10g
SQL Server 2000
Self-Healing DB2 UDB V8.2 Oracle10g SQL Server 2000

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 62


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

Self-Optimizing DB2 UDB V8.2 Oracle10g SQL Server 2000


Self-Protecting Oracle10g DB2 UDB V8.2 SQL Server 2000

Figure 3 Grid Computing Summary


In summary, DB2 leads in the area of on-demand computing requirements, followed closely by
Oracle. While SQL Server can fulfill some of the requirements, other, significant requirements are
lacking (i.e. clustered architectures).

5.12 Standards
Support of industry standards has become a requirement for database vendors. Standards play an
important role in integration and connectivity. There are comprehensive standards in support of
various aspects of database connectivity. These include:
‰ Programming architectures,
‰ Query languages and APIs,
‰ Data mining models,
‰ Metadata models and exchange of metadata
For many years now, IBM has often been perceived to be the leader in supporting industry
standards. This has perhaps been essential to IBM’s strategy because IBM focuses on delivery of
infrastructure software and partners with various other vendors for applications. IBM continues to
participate in leading standards organizations and is an initiator of new, evolving standards and
many groups.
Oracle’s participation in standards groups has significantly grown. In many cases, new, database-
relevant initiatives are pushed forward in conjunction between Oracle and IBM. A recent example
is the SQL/X Group, and the emerging SQL/XML Standard95.
Microsoft has likewise initiated many standards, but also sometimes favors quasi-standards that
are proprietary for the Windows platform96. Other vendors are often forced into supporting these97,
due to the market expansion and use of Windows technology.
Standard support is summarized by the following table:
Standard DB2 UDB V8.2 Oracle10g SQL Server 2000
SQL99 (SQL3) compliance Yes Yes, but many Yes, but also TSQL
PL/SQL extensions specific
SQL-99 conform isolation Yes No Yes
levels
Unicode (UTF8, UCS2) Yes Yes Yes (UCS2)
Data APIs :
DRDA Yes, requester and Yes, requester Yes, requester, via
provider OLE DB and SNA
ISO CLI Yes Yes Yes
ODBC Yes Yes Yes
JDBC Yes, Types 1-4 Yes, Types 1-4 Yes w/ODBC

95
Provides a mapping between SQL and XML
96
e.g. .NET vs. J2EE
97
e.g. OLE DB

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 63


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

SQLJ Yes Yes, w/JDBC No


OLE DB Yes Yes Yes
.NET Data Provider Yes Yes Yes
ODBO / MDX No No Yes
SQL/MM No No No
w3c / DOM and XML :
CWM Yes Yes Yes, with OIM
XMI Yes Yes No, XIF
PMML Yes Yes Yes
XSL and XSLT Yes Yes XSL for query
results
Xpath Yes, in XML Yes, XDK Yes w/URL
Extender
Xquery No No No
XML Schema Yes Yes Reduced
XPDL No Yes, Warehouse No
Builder and
Workflow
SQL/XML Yes Yes No, but supports
group
Java and Web Services
J2EE Yes, JDBC, Yes, JDBC, No > .NET
WSAD Jdeveloper
UDDI / SOAP / WSDL WORF, WSAD and Jdeveloper and .NET and IIS
WSAS Oracle9i AS; SOAP
client in DBMS
WSIL yes no no
WebDAV No Yes No
JMS Yes, w/MQ Yes, w/AQ No
.NET Yes Yes Yes
Content management
SQL Multimedia Still Image no yes no
Standard
OpenGIS yes yes
Security
LDAP Yes, for catalog Yes Yes, for catalog
lookups lookups
DCE No, deprecated Yes Yes
since V8.1
Kerberos Yes Yes Yes

Figure 4 DBMS standards support

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 64


IBM DB2 UDB V8.2 / Oracle10g / SQL Server 2000 – a technical comparison

All three DBMS vendors significantly support the main standards, although there are different
approaches to how certain functionality and the relevant standards are packaged. The most
relevant standard from the database point of view is certainly the SQL standard. DB2 can be seen
as implementing this standard most substantially. Oracle does offer significant SQL standard
support, and traditionally supports many Oracle-specific extensions. SQL Server tends to have the
most proprietary implementations, although Microsoft standards tend to evolve to be “quasi-
standard” and are often supported by various vendors.

Copyright 2004 © BeKS Business eKnowledge Solutions GmbH Page 65

Вам также может понравиться