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%.
IBM offers DB2 databases both
for a shared-nothing (for Unix, Linux, and Windows) and a
shared-disk (on the mainframe only) approach. At a very high level
view, architecture of IBM Parallel Sysplex and Oracle RAC look very
much similar. However, they differ heavily in their implementation
methodology. Both of these products follow the Shared Architecture.
Oracle implementation provides an open system approach and it is
possible to implement it by utilizing commodity-style components.
Parallel Sysplex implantation depends on the special hardware
components provided by IBM. Again looking at the UNIX based UDB EEE
parallel database, it is more of a Partitioned Database than
Parallel Database It is parallel to the extent that it doesn?t
matter where a query or access is performed. However, the processing
is done by function shipping method when a query needs to access
data attached to another node.
IBM Parallel SysPlex
Architecture
The S/390 Parallel Sysplex
follows the Shared Disk model approach with all nodes, or MVS
systems, accessing the disks concurrently. The cluster is built in
with coupling facility, which addresses the global concurrency
issues involved in the shared-data scheme. The Coupling Facility is
a special hardware component with proprietary microcode.
To share data with in the
parallel cluster, DB2 subsystems must belong to a predefined
data-sharing group. All members of a data-sharing group use the same
shared DB2 catalog and directory.
DB2 data sharing implementation
in a Parallel Sysplex environment, as shown in Figure 3.12, usually
consists of:
* At least one coupling facility
? a component that manages the shared resources of the connected
central processor complexes (CPCs).
* At least one Sysplex Timer,
which keeps the processor timestamps synchronized in the
data-sharing group.
* A connection to shared DASD
(Direct access storage device), where user data, system catalog and
directory data, and MVS catalog data all reside.
* One or more CPCs, consisting
of main storage, central processors, timers, and channels, that can
attach to a coupling facility.
Figure 3.12: IBM Parallel
SysPlex System
Coupling Facility
The Coupling facility is a
microprocessor unit. High bandwidth fiber optic links, called
channels, provides connectivity between CF and nodes/systems. DB2
uses the coupling facility to provide for inter-node communications.
The coupling facility ensures data availability while maintaining
data integrity across the connected DB2 subsystems. Coupling
facility provides core services such as data locking, data
consistency and buffering.
The coupling facility uses three
structures to synchronize the activities of the data-sharing group
members:
Cache structure
- Supplies a mechanism called buffer invalidation to
ensure consistency of cached data. The cache structure can also be
used as a high-speed buffer for storing shared data with common
read/write access.
List structure
- Enables authorized applications to share data that is organized in
a set of lists, for implementing function such as shared work queues
and shared status information.
Lock structure
- Supplies shared and exclusive locking capability for serialization
of shared resources down to a very small unit of data.
Thus, the Coupling Facility
manages all locking, contention, and concurrency issues. It does
liaison with local buffers of the nodes. It is the heart of data
sharing system.
While it provides a high
performance parallel cluster for database support, it comes with
very high price. Moreover, this system is a proprietary solution
requiring higher costs in terms of administration and manageability.