Adabas Caching augments the Adabas buffer manager by reducing the number of execute channel programs (EXCPs; UPAM SVCs for BS2000) used for reading information from a database. Write EXCPs are always issued to maintain the integrity of the database.
This reduction in EXCPs enables better use of the available operating system facilities in that valuable virtual memory resources are not monopolized.
Adabas Caching is functionally similar to the Adabas buffer manager. It offers the additional capabilities described in this section:
User-specified Adabas RABNs (blocks) can be cached or "fenced" to make them readily accessible when demand arises, even though the activity against them is not sufficient to keep them in the active buffer pool. This reduces the required I/O response time if the Adabas nucleus needs to re-read the cached RABNs.
The Adabas Work dataset parts 2 and 3 can be cached to improve performance in environments that service large numbers of complex queries. Adabas Work parts 2 and 3 serve as temporary work areas used to resolve and maintain the ISN lists of complex queries. Reducing the number of read and write EXCPs to Work parts 2 and 3 for these complex queries can decrease processing time dramatically and improve performance substantially.
All associated RABNs for a file or range of files can be cached. It is also possible to cache only Associator or Data Storage blocks. Files can be prioritized by assigning a class of service which determines the percentage of the maximum available cache space that a given file can use and when the file's RABN blocks will be purged from the cache.
When processing serial Adabas commands (for example, Read
Logical
, Read Physical
,
Histogram
, and searches using nondescriptors) with
the read-ahead caching option, a single EXCP is issued to read all the
consecutive Associator and/or Data Storage blocks that reside on a single track
of the disk device. The blocks are kept in cache and are available immediately
when the nucleus requests the next block in a sequence. This feature may
enhance performance by reducing the number of physical read I/Os for a 3380
Associator by as much as 18:1. The ADARUN parameters
CBUFNO
and CEXCLUDE
are used to
activate and control read-ahead caching.
The integrity of the database is preserved because Adabas RABNs are not kept redundantly in both the Adabas buffer pool and the cache. An Adabas RABN may reside either in the Adabas buffer pool or in the cache area, but never in both. All database updates and consequently all buffer flushes occur only from the Adabas buffer pool. Unlike other caching systems, this mechanism of non-redundant caching conserves valuable system resources.
Operator commands are available to respond dynamically to a changing database environment by modifying caching settings, for example:
the RABNs to be cached by RABN range, file, or file range;
the RABNs to be enabled or disabled by RABN range, file, or file range;
when to acquire and release the system resources used by Adabas Caching.
Adabas Caching is implemented by the ADACSH module. The ADARUN parameter
CACHE=YES
is used to indicate that the ADACSH module is
to be loaded during Adabas session initialization. RABN ranges or files may be
specified using ADACSH
parameters or dynamically added/modified using
ADACSH operator
commands.
During Adabas session initialization, the ADACSH module is called to validate and establish the runtime settings for the caching operation. If there is a pending Autorestart, the Adabas nucleus processes the Autorestart before calling ADACSH for initialization. Once the nucleus begins servicing user requests, the ADACSH module activates dynamically the specified RABN ranges in extended memory, data spaces, hiperspace, and/or virtual 64 storage, and/or virtual 64 storage backed by large pages.
Note:
Extended memory, data spaces, and hiperspace ("Hiperspace" is a
registered trademark of International Business Machines Corporation) are
available in an z/OS environment. Only extended memory is available on BS2000
RISC machines. Virtual 64 storage is only available in z/OS version 1.2 or
above environments.
No user intervention is required once the Adabas nucleus is active. The ADACSH module adjusts its environment depending upon the activity of the nucleus.
The Adabas Caching Online Services application (SYSACF) provides for online administration of Adabas Caching. SYSACF is available from either the demo or full version of Adabas Online System (AOS).
For a complete description of SYSACF, see the section Adabas Caching Online Services.