Welcome to the latest IT buzzword: grid computing. Also known as utility computing or on-demand computing, this technology has almost as many definitions as it has monikers. At its lowest level, the goal of grid computing is similar to that of Microsoft's Trustworthy Computing initiative: to make computing resources as available and dependable as the services that you get from your water and electric companies. Just as you flip a switch and expect the lights to come on, whenever you plug into your computing environment, you should expect the services it provides to be available.
Another, more rigorous definition of grid computing, espoused by larger companies such as Hewlett-Packard (HP) and IBM, moves beyond availability. These companies embrace the concept of dynamically shifting resources across platforms to match computing demands with available resources. For example, even though your computing demands rise and fall during the day, the computing environment is static. Usage peaks can overwhelm the environment, and lulls underutilize it. But with on-demand grid computing, the computing environment is dynamic, shifting applications between servers to match demand. Even the network is reconfigurable on the fly down to the switch level.
Oracle has its own brand of grid computing: a database system that comprises multiple nodes and lets you shift database resources between them. And the new Oracle 10g grid-computing functionality is essentially the latest version of the company's database clustering technology.
The core technology behind Oracle 10g's grid capabilities is Oracle Real Application Clusters (RAC), which uses a shared-disk technology. Shared disk offers a couple of advantages over SQL Server 2000 and 7.0's shared-nothing architecture. First, because the disk is shared, you can manage it as a single entity—a much easier management scenario than the one SQL Server's distributed partitioned views technology now offers. In addition, as you add computing resources such as nodes to the cluster, the Oracle RAC can automatically take advantage of them. With SQL Server, partitioning is still primarily a manual process.
However, Oracle's shared-disk architecture requires a universal locking mechanism across all cluster nodes to keep them in sync. This locking mechanism drastically reduces scalability. Shared-nothing clusters, such as those that SQL Server 2000 and 7.0 implement, don't have this problem. The latest TPC-C benchmark scores confirm this scalability problem. Oracle 10g reclaimed the top spot in the nonclustered TPC-C scores. But even with its grid capabilities, it hasn't dented the top clustered TPC-C rankings. SQL Server 2000 still holds the top three clustered TPC-C scores.
The ability to dynamically adjust system resources to meet demand has been part of Microsoft's database strategy since SQL Server 7.0. And although Microsoft has been slow to embrace grid computing, at the database level, SQL Server's shared-nothing cluster is far more scalable than Oracle 10g's shared-disk clustering. And Microsoft is working to make distributed clusters easier to manage. SQL Server doesn't play in the grid world yet, but that certainly hasn't put the platform behind in the database technology race.