Microsoft® SQL Server™ 2000 databases can be spread across a group of autonomous database servers capable of supporting the processing growth requirements of the largest Web sites and enterprise data-processing systems built with Microsoft Windows® DNA.
Windows DNA divides the processing units of a data processing system into logical tiers:
- User services tier
Presents the interface seen by the users, and typically calls the second tier for business logic processing.
- Business services tier
Contains the business logic that controls the operation of the Web site, and uses the persistent data storage provided by the third tier.
- Data services tier
Stores the persistent data required to run the Web site.
Scaling refers to the process of adding resources to a tier so that it can handle increased workloads. Scaling can be done in one of two ways:
- Scale up
Increases the processing power of a server by using a more powerful computer.
- Scale out
Increases the processing power of a system designed in a modular fashion, such as becoming a cluster of computers, by adding one or more additional computers, or nodes, to the system.
The growth requirements of the largest Web sites generate processing loads that exceed the capacity of large individual servers. In these cases, scaling out may be the best option for increasing the processing capacity of the system.
Microsoft Windows 2000 COM+ components are designed to be used in clusters of Windows 2000 application servers to form a clustered business services tier. Each server has identical sets of COM+ components, and Windows 2000 balances the cluster processing load by sending new requests to the server that has the least processing load. This forms an easily administered cluster that can quickly scale out by simply adding a new server.
SQL Server 2000 does not support this type of clustering. However, SQL Server 2000 does support updatable distributed partitioned views used to transparently partition data horizontally across a group of servers. Although these servers cooperate in managing the partitioned data, they operate autonomously. Each server is managed independently, has separate operational rules, and can support independent processes and data. A group of autonomous servers that cooperate to process a workload is known as a federation. Although SQL Server 2000 delivers very impressive performance when scaled up on servers with eight or more processors, it can support huge processing loads when partitioned across a federation. A federation of servers running SQL Server 2000 is capable of supporting the growth requirements of any Web site, or of the largest enterprise systems.