This is an excerpt from the bestselling book
Oracle Grid & Real Application Clusters. To get immediate
access to the code depot of working RAC scripts, buy it
directly from the publisher and save more than 30%.
There are many differences
between Grid and Clusters. The following table shows comparison of
Grid and Clusters.
CHARACTERISTIC |
CLUSTER |
GRID |
Population |
Commodity
Computers |
Commodity
and High-end computers |
Ownership |
Single |
Multiple |
Discovery |
Membership
Services |
Centralized
Index and Decentralized Info |
User
Management |
Centralized |
Decentralized |
Resource
management |
Centralized |
Distributed |
Allocation/
Scheduling |
Centralized |
Decentralized |
Inter-Operability |
VIA and
Proprietary |
No standards
being developed |
Single
System Image |
Yes |
No |
Scalability |
100s |
1000? |
Capacity |
Guaranteed |
Varies, but
high |
Throughput |
Medium |
High |
Speed(Lat.
Bandwidth) |
Low, high |
High, Low |
Table 2.2: Comparison between
Clusters and Grid
Grid represents a bigger
framework and architecture, and focuses on the broader scope or
objective. Grid incorporates many varied computing resources and the
clusters often become one of the many components. A Grid enables the
sharing, selection, and aggregation of a wide variety of
geographically distributed resources including supercomputers,
storage systems, data sources, and specialized devices owned by
different organizations for solving large-scale resource intensive
problems in science, engineering, and commerce. Clusters, on the
other hand, focus on a specific objective and purpose, such as a
database service or a web logic application server. These clusters
fit into grid architecture very well for ultimate sharing of
resources at a higher level of aggregation.
With technological advances it
may not be long before a large number of nodes (say, 50 to 100
nodes) form a database cluster incorporating a variety of data
stores consolidated into a huge data source. That may lead to a true
Data Grid of different stores supported in a single large cluster.
Cluster Objectives
Traditionally,
the term cluster was used to represent Server Clusters. Clustered
systems are synonymous with a group of servers. The server, being
the main layer or platform where the database or application service
resides, is the most important component in providing availability
and high performance.
Clusters, with
multiple nodes, primarily aim at protecting server availability. Any
failure in a server is transparent to end-users and is hidden by the
failover of the application or database to a surviving node. End
users or clients have access to the surviving node, thus allowing
processing to continue. In another situation, a group of nodes are
joined together to provide database services, as in a parallel
database. Failure of a single node does not interrupt access to the
database since the secondary nodes are still active in providing
database access.
Thus, the
cluster technology focuses on providing an alternative to a failed
server. However, we have to realize that there are many other layers
or components, each of which is significant in maintaining overall
availability of the database or application service. Although the
server (node) is a very crucial component and plays the key role in
running the database or application, there are other components,
such as the disk storage units and networking equipment for which
alternatives or backups need to be provided to meet the failure
conditions. The traditional concept of clustering revolves around
server clustering only.
With this in
mind, administrators and managers should provide adequate redundancy
for other components in order to have an effective high availability
environment.