Adabas Caching Introduction

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.


Features and Capabilities

Adabas Caching is functionally similar to the Adabas buffer manager. It offers the additional capabilities described in this section:

RABN Caching

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.

Work Data Set Caching

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.

Selective Caching

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.

Read-Ahead Caching

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.

Non-Redundant 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.

Dynamic Modification of Caching Settings

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.

Integration with webMethods Optimize for Infrastructure

Adabas Caching Facility key performance indicator (KPI) statistics are provided to webMethods Optimize for Infrastructure. Using the Optimize component of webMethods Optimize for Infrastructure, you can monitor the status of these statistics as well as the overall status of your system. This support is available in version 8.2 (and later versions) of webMethods Optimize for Infrastructure.

The ADACSH Module

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.

Online Services

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.