IBM's DB2 competes with Informix, Microsoft, Oracle, and Sybase
[Editor's Note: In many organizations, the database engine is the workhorse for most onsite applications. Choosing a database is often as difficult as choosing a server-side operating system. The Windows NT Magazine Lab is launching a series of articles about major, enterprise-size database products for NT. The series starts with IBM's DB2 database. Look for coverage of Informix, Microsoft, Oracle, and Sybase database and online analytical processing (OLAP) products in future issues.]
In December 1996, Windows NT Magazine examined IBM's DB2 Common Server (see Elizabeth Lindholm, "Is DB2 Right for You?"). At that time, DB2 was missing several components (e.g., integrated replication in the base product, enhanced GUI management tools, and a lack of support for symmetric multiprocessingSMP) that limited IBM's share in the NT market against competitors such as Microsoft and Oracle. Since then, IBM has added several components to better position DB2 in the NT database market.
The History of DB2
The following DB2 products are currently available:
- DB2 Universal Database (UDB) 5.0 (Personal, Workgroup, and Enterprise Editions)
- DB2 Common Server 2.0 and DB2 Parallel Edition 1.0 (pre-UDB releases)
- DB2 for OS/400
- Mainframe DB2 (DB2 for VSE and VM; DB2 for OS/390)
The difference between DB2 Common Server and DB2 UDB 5.0 is that the latter merges the functions of DB2 Common Server (including DB2 Database Server 4.0) with DB2 Parallel Edition and can run on SMP, Massively Parallel Processor (MPP), and clustered systems.
You can purchase several versions of DB2 UDB. The Workgroup Edition includes the following components:
- DB2 UDB 5.0
- DB2 Client Pack with DB2 Client Application Enablers (CAEs)
- DB2 Relational Extenders for text, image, audio, and video
The DB2 UDB Enterprise Edition supports host connectivity via DB2 Connect 5.0 (formerly Distributed Data Connection ServicesDDCS) for connecting to other DB2 platforms (e.g., OS/390, OS/400, VSE and VM) and Distributed Relational Database Architecture (DRDA, which is IBM's version of Open Database ConnectivityODBC) servers.
A single-user DB2 UDB Personal Edition is available for NT, Windows 95, and OS/2. The product isn't a server version, so it doesn't include the CAEs, but it can function as a client to any DB2 server. Developers can buy the DB2 Personal Developer's Edition or the DB2 Universal Developer's Edition. Both editions are similar to the basic bundles described above, except they include additional software development kits (SDKs) that let developers access DB2's Call Level Interface (CLI) and write applications in programming languages such as C, C++, REXX, or Visual Basic (VB), using embedded SQL.
IBM offers the support that Microsoft developers expect. In addition to DB2 and Data Warehouse Technical Conferences, IBM offers annual Technical Interchanges similar to Microsoft's TechEd. (The independent International DB2 Users GroupIDUGhosts an annual event, held this year from May 10 to 14 in San Francisco, California.) IBM has a developer connection at http://www.developer.ibm.com and a technical library at http://www.software.ibm
.com/data/db2/library that function similarly to the Microsoft Developer Network (MSDN). You can also find free DB2 manuals online at http://www.software.ibm.com/cgi-bin/db2www/library/pubs.d2w/report?uid=UNKNOWN&pwd=&search_type=SIMPLE&r_host=1cust64.max.
In February, IBM launched DB2 OLAP Server 1.0, which combines Arbor's Essbase 5.0 OLAP server with IBM's DB2. As with UDB, personal, workgroup, enterprise, and developer versions are available (for more information, go to http://www.software.ibm.com/data/db2/db2olap). IBM's Digital Library and Visual Warehouse products are based on DB2, and VisualAge for Java e-business ships with a copy of DB2.
New in UDB
IBM released the first version of DB2 in 1983, in pre-GUI mainframe days. Starting with DB2 Common Server, IBM tried to make DB2 as easy to install and administer as SQL Server; with DB2 UDB, IBM has perhaps outdone Microsoft. IBM has also added support for SMP to UDB. With DB2 Common Server, you had to use a separate Parallel Edition to exploit parallelism in SMP and MPP systems. With UDB, you can perform the following parallel operations: Load, Insert, Update, Delete, Reorg, Join, index operations, sorts, backup and restore operations, and table scans. DB2 UDB also offers built-in replication, with DataPropagator-Relational (which was formerly an extra-cost option). DB2 DataJoiner is required for heterogeneous joins and is sold separately.
DB2 UDB includes extensions to SQL and supports online analytical processing (OLAP) via enhanced star-join support (data warehouses often use star joins). UDB also comes with CUBE and ROLLUP commands, which let users perform drill downs, rollups, and cross tabulations. Like Common Server, UDB supports recursive SQL, which can handle difficult structures such as those required for bills of materials. UDB adds support for outer joins and schemas, and IBM is developing support for many SQL3 features. Microsoft and Oracle SQL Server users want a DB2 equivalent to Transact-SQL (T-SQL) or Programming Language SQL (PL/SQL). IBM never developed a proprietary extended SQL (such as T-SQL or PL/SQL) with support for programming constructs such as loops and IF statements; thus, developers must write code, including stored procedures, in DB2's ANSI-compliant SQL or embed SQL in other programming languages.
On the performance front, DB2 UDB adds global caching for SQL statements and supports 64-bit addressability, which accommodates very large memory (VLM). Database administrators (DBAs) can define multiple, various-size buffer pools to better control the data in memory (e.g., binding a frequently accessed table to a particular buffer pool so that the table remains in memory). You can achieve VLM support through an Extended Store (ESTORE), which lets you define a separate address space to use as a buffer pool extension. Multiple tablespaces can also share buffer pools. In addition, you can harness tablespaces to support tables with large objects, storing the objects in separate tablespaces.
Additional DB2 UDB improvements are more efficient client/server communication, faster crash and rollforward recovery, and an improved LOAD utility. UDB also adds support for Distributed Relational Database Architecture (DRDA) over TCP/IP (DRDA previously required SNA) and the Open Software Foundation's Distributed Computing Environment (DCE), a popular infrastructure for managing mainframe-shop enterprise security. DB2 UDB ships with Java Database Connectivity (JDBC) and ODBC 3.0 drivers and supports client-side applets (which let you run applications against DB2 without needing CAEs, for example).
Another new feature is the DB2 Governor, which controls functions such as application behavior. The Governor is a combination front-end utility and daemon. You create rules for application behavior and use the daemon to collect statistics. The Governor then checks the statistics against your rules and can take various actions.