Conceptually, DB2 is a relational database management system. Actually,
some might object to this term instead calling DB2 a SQL DBMS because it does
not conform exactly to Codd’s relational model. Physically, DB2 is an amalgamation of address spaces and
intersystem communication links that, when adequately tied together, provide
the services of a database management system.
"What does all this information have to do with me?" you
might wonder. Well, understanding the components of a piece of software helps you use
that software more effectively. By understanding the physical layout of DB2,
you can arrive at system solutions more quickly and develop SQL that performs
This blog entry will not get very technical and won't delve into the bits and bytes of DB2. Instead, it presents the basic
architecture of a DB2 subsystem and information about each subcomponent of that
Each DB2 subcomponent is comprised of smaller units called CSECTs.
A CSECT performs a single logical function. Working together, a bunch of CSECTs
provide general, high level functionality for a subcomponent of DB2. DB2 CSECT
names begin with the characters DSN.
There are three major subcomponents of DB2:
- System services (SSAS)
- Database services (DBAS)
- Distributed Data Facility services (DDF).
The SSAS, or System Services Address Space, coordinates the
attachment of DB2 to other subsystems (CICS, IMS/TM, or TSO). SSAS is also
responsible for all logging activities (physical logging, log archival, and
BSDS). DSNMSTR is the default name for this address space. (The address spaces
may have been renamed at your shop.) DSNMSTR is the started task that contains
the DB2 log. The log should be monitored regularly for messages indicating the
errors or problems with DB2. Products are available that monitor the log for
problems and trigger an event to contact the DBA or systems programmer when a
problem is found.
The DBAS, or Database Services Address Space, provides the facility
for the manipulation of DB2 data structures. The default name for this address
space is DSNDBM1. This component of DB2 is responsible for the execution of SQL
and the management of buffers, and it contains the core logic of the DBMS.
Database services use system services and z/OS to handle the actual databases
(tables, indexes, etc.) under the control of DB2. Although DBAS and SSAS
operate in different address spaces, they are interdependent and work together
as a formal subsystem of z/OS.
The DBAS can be further broken down into three components, each of
which performs specific data-related tasks:
- Relational Data System (RDS),
- Data Manager (DM)
- Buffer Manager (BM).
The Buffer Manager handles the movement of data from disk to
memory; the Data Manager handles the application of Stage 1 predicates and
row-level operations on DB2 data; and the Relational Data System, or Relational
Data Services, handles the application of Stage 2 predicates and set-level
operations on DB2 data.
components of the Database Services Address Space.
The next DB2 address space, DDF, or Distributed Data Facility services, is optional. DDF is required only when you
want distributed database functionality. If your shop must enable remote DB2
subsystems to query data between one another, the DDF address space must be
activated. DDF services use VTAM or TCP/IP to establish connections and
communicate with other DB2 subsystems using either DRDA or private protocols.
DB2 also requires an additional address space to handle locking.
The IRLM, or Intersystem Resource Lock Manager, is responsible for the
management of all DB2 locks (including deadlock detection). The default name of
this address space is IRLMPROC.
Finally, DB2 uses additional address spaces to manage the execution
of stored procedures and user-defined functions. In older releases of DB2 (V4 and V5 era) these address spaces are known
as the Stored Procedure Address Spaces, or SPAS. For current DB2 releases (V8 and later), however, the z/OS Workload Manager (WLM) is used and can define multiple address spaces for
So, at a high level, DB2 uses five address spaces to handle all DB2
functionality. DB2 also communicates with allied agents, like CICS, IMS/TM, and
TSO. And database services uses the VSAM Media Manager to actually read data. A
summary of the DB2 address spaces and the functionality they perform is
provided in Figure 2.
Figure 2. The DB2
Labels: address spaces, BM, CSECT, DBAS, DDF, DM, DSN, RDS, SSAS