The Windows NT market is full of powerful databases: Sybase, Oracle, Microsoft, Informix, and IBM all have robust offerings. IBM? Like most of the IS community, you probably associate Big Blue's DB2 database with mainframes and the glass house rather than NT and the Internet. But this is not your father's DB2. IBM includes many features in DB2 for NT that the other big names incorporate into their products and even goes a step further to include support for multimedia data types (for a quick overview of DB2's features, see the sidebar, "DB2 for NT at a Glance," page 91). If what you need is guaranteed scaleability, support for multimedia objects now (not later), or the ability to leverage existing DB2 skills in your IS shop, then DB2 provides a good alternative to Microsoft's SQL Server in a back office environment. If you need handholding with database tuning or management, SQL Server's administration tools make it a better choice.
Windows NT Integration
Although IBM's OS/2 Warp Server competes head to head with NT Server, the company tuned DB2 for NT, adopting NT's threaded model and mapping it onto the DB2 Common Server model. "That gives you the ability to scale up," explained Rakesh Golenka, product manager for DB2 for NT at IBM's Toronto, Canada, facility. "You can use multiple processors in a symmetrical multiprocessing (SMP) configuration to provide better performance."
DB2 also takes advantage of NT's native I/O. You can, for instance, assign DB2 storage disks to do bulk reads or bulk writes without invoking DB2 to do so, Golenka said. IBM is trying to clean up its image for releasing somewhat-compatible products by letting DB2 take full advantage of the NT API for tape backup and the NT Registry to show information about the product.
DB2 for NT comes with a performance monitor and integrates with NT's Event Log and Perfmon. "We use APIs to pass DB2 performance data to the Windows NT Performance Monitor," Golenka said. Because DB2 writes to Perfmon's APIs, DBAs can then use NT's Perfmon to track DB2 performance in the event of a problem. This approach is not as intuitive as SQL Server's, which provides a graphical Performance Monitor interface that's easier for users with less experience to use. DB2 also uses NT's domain services to manage group access to its databases.
IBM made sure DB2 for NT conforms to the Microsoft BackOffice logo server requirements, but not the client requirements. For information about these requirements, see "BackOffice Logo Server Requirements," page 91.
Common Code Base
Despite IBM's efforts to harmonize DB2 with NT, one of DB2's strengths is its support for multiple heterogeneous platforms with a common interface and functionality. "The key differentiator between everybody \[else\] and SQL Server for NT is portability," said Herb Edelstein, president of Two Crows, a database and data mining consultancy in Potomac, Maryland. "Microsoft believes as long as it runs on NT, that's the definition of an open system. For enterprise computing, UNIX is going to remain more important than NT for quite a while."
DB2 includes multiplatform support for Windows 95 (as a single-user version), NT, OS/2, various flavors of UNIX, OS/400, and MVS. The MVS and OS/400 versions differ from the others in the way the commands operate, but the NT, UNIX, and OS/2 products share a common code base, DB2 Common Server, which lives on UNIX in C++. "Ninety percent of the code is common and 10 percent maps onto the software platform," IBM's Golenka said. DB2's interfaces, data schema, triggers, and row-level locking are all similar from platform to platform.
IBM has taken some flak for the differences among DB2's various versions. Analysts agree that the current incarnation of DB2 is more consistent than previous versions, but no one seems to believe the Common Server platforms will ever reconcile with the AS/400 and MVS versions.
For IBM, the common code approach means IBM has to develop only once for three platforms. For developers, this approach means application scaleability: DB2's reach meets NT's scaleability at a four- and eight-way SMP configurations.
IBM's legacy of corporate support--reliability, availability, and serviceability-- and DB2's stability (DB2 is more than 13 years old) help make DB2 attractive to shops that already have DB2. In such shops, programmers can start to work with the NT version without retraining.
DB2 will also appeal to shops with experienced DBAs, shops that already have DB2 on other platforms, and shops that want a smaller version of the big, robust databases DB2 is known for. "IBM has a very strong relationship with IS departments," said Kusnetzky, far better than Microsoft does. "DB2 is a strong contender for IS departments selecting NT as a platform."
IBM introduced a new cost-based query optimizer in the release of DB2 Common Server that the NT version shares. The query optimizer uses an expert system and extensive statistics on the data to select the best access path for each query. The optimizer can optimize several joins, and to make them more efficient, it can rewrite queries, after parsing and checking the semantics. DB2 also supports recursive queries. The software searches the database repeatedly until it reaches a certain goal. It supports stored procedures and triggers, which are now features that the industry expects for enterprise-class databases, and large object types (up to 2GB). The advantage of storing large objects, such as complex spatial data or images, is that the size of the database doesn't constrain you.
DB2 capitalizes on its support for large objects with a series of DB2 Extenders that expand its support for complex data types (SQL Server doesn't offer extension-type support). IBM has multimedia Extenders for full-text retrieval (keyword searching through text files), audio, image, and fingerprints. The DB2 Extenders play off DB2's support for user-defined types and user-defined functions. Because it incorporates extensions in this way, DB2 sees the multimedia data types as being the same as traditional data types, and SQL Server can query the complex data types. The Image Extender also adds a query technology, Query by Image Content (QBIC), that lets you use visual examples of colors or textures as search criteria and indexed information on images (content, file size, file type, etc.) to search for images. SQL Server doesn't have this functionality.
"The DB2 NT port is good in terms of a strong database engine with a very clever optimizer, but IBM still has some work to do," IDC's Kusnetsky said. That work mainly involves sprucing up the management and setup utilities and including better graphical administration tools. IBM originally released DB2 for NT with a command-line processor. Although IBM fixed this release with a point release that offered better graphical tools, the product still lacks the ease of use of SQL Server's and Oracle7's administration tools.
DB2 for NT also lacks some important replication features. Microsoft and Oracle both include replication in their base products. If you want replication in DB2, you have to pay extra for IBM's DProp-R for log-based replication and IBM's nonrelational Data Joiner products. Together, they provide heterogeneous replication for data in DB2, Oracle, Sybase, Microsoft, and Informix databases, and Virtual Storage Access Method (VSAM) files. But DB2's replication is not bidirectional, and it doesn't provide replication for mobile users.
So far, IBM's performance data for DB2 for NT is slim. "IBM has shown some performance data to indicate that it is better than SQL Server," Edelstein said. "It's really hard to compare the two \[SQL Server and DB2\] on performance at this point. If performance is the overwhelming issue, you ought to really pay attention to what you do and not pay attention to the Transaction Processing Council's benchmarks, TPC-C and TPC-D. They're totally irrelevant."
Microsoft made SQL Server 6.5 attractive for Web-based applications by including a Web Wizard that generates HTML code from a specified SQL Server database (i.e., you can query the database in SQL and report the information in HTML). IBM's DB2-to-Internet conductivity product, WWW Connection, provides the tools for building two- and three-tier applications that access DB2 data using standard HTML and SQL. A Common Gateway Interface (CGI) runtime engine processes input from HTML forms and sends SQL commands to a DB2 database specified in the application you create with WWW Connection. The application consists of a macro file with HTML input and report forms and a selection of SQL commands (select, insert, update, and delete).
The applications can access DB2 data on the Internet server and on servers connected via Distributed Database Connection Services (DDCS), Client to Application Enabler (CAE), or IBM's Data Joiner product. The applications can also access Oracle, Sybase, and SQL Server.
The sequel to DB2's WWW Connection, IBM Net.Data, went into beta on August 1, 1996. Rather than a simple link, Net.Data provides a comprehensive Web development environment for creating dynamic Web pages. IBM claims the upgrade will improve the performance of existing WWW Connection applications because Net.Data uses CGI thread management.
With Net.Data, IBM is promising Java tools and class libraries, visual Web builders, better integration with Web platforms, live connectivity to data from the Web, and support for additional data sources such as applications programmed in REXX, Perl, and C/C++ .
DB2 for NT is due for its next major release around the middle of 1997, but don't look for online analytical processing (OLAP) to be a part of that upgrade. According to Golenka, IBM's current plans call for integrating replication into the base package and enhancing the graphical administration tools that come with DB2 for NT.
IBM also plans to move the UNIX parallel processing version of DB2 down to NT--so far as NT can make use of it. IBM has stated that it will support NT clustering technology as it emerges, including support for IBM's Phoenix APIs and Microsoft's Wolfpack APIs. IBM is making some changes, such as base replication and graphical tools, to keep up with the competition, but is moving ahead on other fronts, such as adding parallel processing.