Windows 2000 Server Databases
In my previous column I discussed the evolving role of Microsoft and Oracle as competing database management system (DBMS) vendors in the Windows 2000 Server marketplace. In this column, I continue the discussion by describing other leading DBMS products for Windows 2000 from IBM Corp., Informix Corp., NCR Corp., and Sybase Inc. You may have different evaluation criteria, but I think the things you can expect from these vendors are improved scalability and reliability.
DB2 UDB is IBM's flagship relational DBMS. DB2 is a venerable product, originally designed for the mainframe. Version 5.2 supports Java user-defined functions and stored procedures, but an external Java interpreter must be installed and configured before starting the database. This release also added support for Microsoft Transaction Server on Windows 2000 Server, AS/400 and mainframe databases, as well as the ability to perform two-phase commit (2PC) on multiple platforms. Decision support is enhanced with dynamic bitmap technology to combine multiple indexes and a new star join algorithm for merging a large fact table with several relatively small dimension tables. Summary table support enables the DBA to create a table with summarized data.
The Extended Enterprise Edition (EEE) partitions a database across multiple, independent computers in a LAN by using a hash algorithm that allocates the data across all available partitions. This lets the database grow beyond the capabilities of a single computer and allows the SQL operations to operate in parallel on the individual partitions, therefore improving execution time.
The Informix port includes the Extended Parallel Option, which enables Informix Dynamic Server to run on several SMP, MPP and NUMA architectures. Each node in a cluster runs an instance of Informix Dynamic Server in a shared-nothing architecture that supports parallel processing across the nodes and a variety of table and index partitioning algorithms. Round-robin partitioning places every record sequentially in the next partition. Hash partitioning hashes a key to determine the partition number. Range partitioning divides the data into buckets based on the key value.
Each node in the cluster is responsible for managing the data and indexes on the partition it is managing. Locking, buffer management, transaction logging, data loading and index building are all performed in parallel by each node. Incoming queries are parallelized by breaking them into discrete subtasks that are parceled out to the various nodes in the cluster to run independently. A messaging infrastructure is used to coordinate data and function exchange between nodes. Informix also supplies an administration tool to help manage the database. The architecture, which was originally developed for Unix systems, enables the system to scale up to very large systems based on commodity hardware.
Teradata, from NCR, has a reputation as an extremely scalable database due to its data warehouse expertise. Teradata is unique in the degree to which operations are performed in parallel. Database tables are automatically distributed across the available disks using a hash algorithm. Each storage unit, or cylinder, is managed by a process. A row is retrieved by executing a two-stage hash algorithm to locate the storage unit and the row. This ensures consistent performance across the entire system and reduces the potential for developing disk hot spots. Teradata's BYNET, a high-speed dedicated messaging protocol running on a PCI card, can link a maximum of 512 machines with 2,048 CPU.
The Teradata optimizer is one of the most robust on the market, so the DBA doesn't need to spend a lot of time tuning queries.
Sybase has taken a different approach to the Windows 2000 Server platform than the other vendors. Rather than emphasize the ability to scale up to a clustered environment, Sybase focuses on managing a single machine-mixed workload. The Logical Memory Manager lets you assign database objects to named caches, which ensures that high priority data remains in cache. The Logical Process Manager lets you assign CPU resources to individual applications, while the Resource Governors limit the ability of queries to consume resources. These components make it easier to run both transaction processing and decision support applications on the same machine. Sybase also includes PowerDynamo, which can be used to create Web sites that can dynamically access any ODBC data source. --Robert Craig is vice president of marketing at Web Engine Inc. (Burlington, Mass.), and formerly director of the Data Warehousing and Business Intelligence Division of Hurwitz Group Inc. Contact him at firstname.lastname@example.org or via the Web at www.webengine-db.com.