A Primer on Microsoft Clustering Technologies

One of themost confusing terms coming out of Redmond these days is clustering. It’s notthat the concept is hard, it’s just that Microsoft officials mean a lot ofdifferent things when they talk about clustering. It’s tricky keeping themstraight.

The varyingconcepts have become especially difficult to follow now that Microsoftintroduced a fourth flavor of clustering to its menu. This is a good time totalk about what Microsoft has out there, and define the differences between theofferings.

Thegranddaddy of Microsoft clustering technologies is failover clustering. Aroundin beta form since late 1996, Microsoft Cluster Service (MSCS) shipped as partof Windows NT 4.0 Server, Enterprise Edition, in the fall of 1997. The conceptbehind failover clustering is that two servers share access to storage and havea connection between them. When one server goes down, the other starts theapplication the other server was running. The benefit is the application isnever down for long. The drawback is that any transactions the first server hadin progress when it failed are lost.

Microsoftincluded failover clustering in two versions of Windows 2000: Windows 2000Advanced Server and Windows 2000 Datacenter Server. Advanced Server supportstwo-node clusters just like Enterprise Edition did, and has some additionalsetup and management features. Datacenter Server introduces four node clusters,potentially reducing the cost of clustered configurations since one computercan stand by for three active nodes instead of having one standby server foreach active node. Microsoft has also discussed plans to bring four-nodeclusters down to Advanced Server with the Whistler release.

Microsoft’ssecond type of clustering is Web load balancing software. Introduced as WindowsNT Load Balancing Service (WLBS) in January 1999, the software allowsadministrators to group up to 32 systems together on a single logical TCP/IPaddress to handle Internet traffic. A load-balancing algorithm decides which ofthe 32 servers in a Web farm new Internet requests get routed to. The softwarewas renamed Network Load Balancing (NLB) in Windows 2000 and is included withAdvanced Server and Datacenter Server.

Microsoftcluster software type three is Component Load Balancing (CLB). The idea here isthat an application would run faster if you could take individual components ofthe application and distribute them across several application serversprocessing the components in parallel. The software was originally supposed toship with Windows 2000 in COM+. Instead, Microsoft ended up pulling thesoftware from the beta code of Windows 2000 and posting it on its Web site as atechnology preview. CLB is scheduled for official release as a core componentof Application Center 2000, Microsoft’s enterprise server software for managingWeb applications. Application Center is scheduled for release later this year.

The fourthand newest type of clustering from Microsoft comes out of the SQL Server team.Called Distributed Partition Views, Microsoft first discussed the technology atthe Windows 2000 launch in February. DPV is focused more on achievingscalability rather than reliability.

With DPV, adatabase is broken out into pieces, and each of the pieces is handled by anindividual node of the cluster. For example, in a database where the recordsare ordered alphabetically, node 1 might handle records A-C, node 2 might handlerecords D-F, and so on. A query is processed in parallel by each of the nodescrunching numbers on its subset of the database.

Microsoftused this technology for the record-breaking Transaction Performance ProcessingCouncil OLTP benchmarks it’s been achieving lately (see related story).