Data tables enable you to build, maintain and have rapid access to data
records contained in tables held in virtual storage above the 16MB line. Therefore,
they can provide a substantial performance benefit by reducing DASD I/O and
pathlength resources. The pathlength to retrieve a record from a data table
is significantly shorter than that to retrieve a record already in a VSAM
buffer.
- After the initial data table load operation, DASD I/O can be eliminated
for all user-maintained and for read-only CICS-maintained data tables.
- Reductions in DASD I/O for CICS-maintained data tables are dependent on
the READ/WRITE ratio. This is a ratio of the number of READs to WRITEs that
was experienced on the source data set, prior to the data table implementation.
They also depend on the data table READ-hit ratio, that is, the number of
READs that are satisfied by the table, compared with the number of requests
that go against the source data set.
- CICS® file control processor consumption can be reduced by up to 70%.
This is dependent on the file design and activity, and is given here as a
general guideline only. Actual results vary from installation to installation.
For CICS-maintained data tables, CICS ensures the synchronization of source
data set and data table changes. When a file is recoverable, the necessary
synchronization is already effected by the existing record locking. When
the file is nonrecoverable, there is no CICS record locking and the note string position
(NSP) mechanism is used instead for all update requests. This may have a
small performance impact of additional VSAM ENDREQ requests in some instances.
- Remember that data tables are defined by two RDO parameters, TABLE and
MAXNUMRECS of the file definition. No other changes are required.
- Start off gradually by selecting only one or two candidates. You may want
to start with a CICS-maintained data table because this simplifies recovery
considerations.
- Select a CICS-maintained data table with a high READ to WRITE ratio. This
information can be found in the CICS LSRPOOL statistics (see topic LSRpool statistics) by running a VSAM LISTCAT job.
- READ INTO is recommended, because READ SET incurs slightly more internal
overhead.
- Monitor your real storage consumption. If your system is already real-storage
constrained, having large data tables could increase your page-in rates. This
in turn could adversely affect CICS system performance. Use your normal
performance tools such as RMF™ to look at real storage and paging rates.
- Remember to select files that have a high proportion of full keyed direct
reads as CICS-maintained data table candidates.
- Files that have a large proportion of update activity that does not require
to be recovered across a restart would be better suited for user-maintained
data tables.
- User-maintained data tables can use the global user exit XDTRD to modify
as well as select records. This could allow the user-maintained data table
to contain only the information relevant to the application.
- If storage isolation is specified allow for the extra storage needed by
the data tables to prevent CICS incurring increased paging.
Data tables can be defined using either the DEFINE
FILE command of the CEDx transaction or the DFHCSDUP utility
program. See the CICS Resource Definition Guide for more information.
Performance statistics are gathered to assess the effectiveness of the
data table. They are in addition to those available through the standard CICS file statistics.
The following information is recorded:
- The number of attempts to read from the table
- The number of unsuccessful read attempts
- The number of bytes allocated to the data table
- The number of records loaded into the data table
- The number of attempts to add to the table
- The number of records rejected by a user exit when being added to the
table either during loading or via the API
- The number of attempts to add a record which failed due to the table being
full (already at its maximum number of records)
- The number of attempts to update table records via rewrite requests.
- The number of attempts to delete records from the table
- The highest value which the number of records in the table has reached
since it was last opened.
There are circumstances in which apparent discrepancies in the statistics
may be seen, caused, for example, by the existence of inflight updates.
[[ Contents Previous Page | Next Page Index ]]