IAM Overview


IAM Basics

IAM is a high performance indexed access method for z/OS that offers numerous advantages over the IBM provided VSAM access method. IAM files exist on DASD in a different file structure than VSAM data sets, with IAM providing a VSAM compatible API (Application Programming Interface) for KSDS, RRDS, and ESDS file types. IAM/AIX provides support for alternate indexes. Existing as non-VSAM data sets provides IAM with capabilities to eliminate the 4.3-gigabyte file size restriction in VSAM for files that are not DFSMS Extended Format with Extended Addressability, and to choose a block size that will optimize space utilization on each of the different type of DASD devices and architectures available. Along with IAM's unique file structure, described in a subsequent section and IAM's Data Compression feature, user data stored in an IAM file typically requires substantially less DASD space than when stored in a VSAM cluster.


 The basic principle of IAM is to intelligently utilize virtual storage to reduce the need to perform physical I/O to look up and retrieve data. This is accomplished by using the sophisticated IAM Real-Time Tuning concept to manage buffers, and by keeping the index for files in virtual storage while they are being processed. IAM requires at most one I/O to retrieve any explicitly identified record within the IAM data set. All of the index I/O's and index buffers used by VSAM are eliminated.

Dynamic File Expansion

IAM files can acquire additional DASD extents as necessary subject to the type of data set that is being used. IAM supports basic non-VSAM file structure, the large sequential data set structure, large sequential data sets on EAV volumes, the SMS sequential extended format, SMS sequential extended format on EAV volumes, and Linear extended format data sets for pervasively encrypted files. In all cases files are limited to a maximum of 59 volumes.

DSN Type Specifications

DSNTYPE

Extents per volume

MAX Extents

MAX Space per Volume

BASIC

16

255

64K Tracks

LARGE

16

944

64K Cylinders

LARGE FORMAT + EAV

16

944

>64K Cylinders

SMS EXTENDED FORMAT

123

7,257

64K Cylinders

SMS EXTENDED FORMAT + EAV

123

7,257

>64K Cylinders

LINEAR EXTENDED FORMAT

123

7,257

64K Cylinders

LINEAR EXTENDED FORMAT + EAV

123

7,257

>64K Cylinders

Maximum File Size

The maximum size of an IAM file within the internal file architecture is 128 terabytes. Given the combination of the IAM software implementation and the 3390 track architecture, assuming a ½ track blocking factor yields a maximum of 54 terabytes.

In real world terms, the maximum size is subject to the 3390 track architecture and the limits indicated in the table shown above. The current major factor beyond actual volume size is the limit of 59 volumes per data set. Given that consideration, the maximum size of an IAM file on all 3390-54 size volumes, assuming either large format or extended format, is approximately 3,186 gigabytes of compressed data. On all EAV volumes with the current maximum of approximately 223 gigabytes per EAV volume, that yields a maximum IAM file size of 12.8 terabytes. For a basic non-VSAM format file, the limit is 201 gigabytes of compressed user data due to the 64K tracks per volume maximum.

The above size limitation applies to IAM KSDS file types, RRDS file types, and to IAM ESDS file types defined with the XESDS attribute. For applications that require a true 4-byte VSAM RBA value for an ESDS file the size limitation is 4 gigabytes of user data.

VSAM Transparency

IAM's system level VSAM Interface provides application program transparency. IAM allows an unaltered application program executing under z/OS to access IAM files in place of VSAM KSDS, ESDS, RRDS, and AIX files. IAM can be used in conjunction with the common programming languages COBOL, BAL (assembler), PL/1, RPG, C and any higher-level language products, which support keyed access to VSAM files.

IAM supports programs executing in AMODE(31) and VSAM control blocks (ex: ACB, RPL) residing above the 16MB line.

IAM supports the full range of VSAM file access commands GET, PUT, INSERT, GETPREV, ERASE, POINT, etc. and the file status commands SHOWCB, TESTCB, GENCB, and the VSAM catalog lookup macro, SHOWCAT.

IAM supports the following functions of IDCAMS, as they relate to VSAM KSDS, ESDS, RRDS and AIX file processing: BLDINDEX, DEFINE, DELETE, LISTCAT, PRINT, REPRO and VERIFY. DELETE, PRINT, REPRO and VERIFY provide the same services for IAM files as they would VSAM clusters.

IDCAMS DEFINE will create an IAM file whenever the OWNER($IAM) parameter is specified, '$IAM' is placed somewhere in the data set name, or $IAM is part of the Data Class or Storage Class name.

LISTCAT ALL displays IAM files as non-VSAM in its standard SYSPRINT report. LISTCAT ALL also displays the file's IAM characteristics in an IAMPRINT DD report, which will be dynamically allocated if necessary.

IAM has full support for the SMS environment. This support includes recognizing and using the SMS classes for allocation, honoring file attributes specified in the Data Class, and support for JCL allocation of IAM files; including temporary data set support. Users can also use an SMS Data Class name or Storage Class name that contains the literal $IAM to define a file as IAM. When using the SMS JCL allocation feature specifying $IAM in the data set name, in the Storage Class name or in the Data Class name on the DD Statement results in an IAM file being allocated.

Activating the IAM VSAM interface is a simple procedure. While evaluating IAM, you can activate and deactivate IAM at any time. To start IAM all you need to do is submit the procedure, 'VIFSTART', supplied in the IAM Installation Control Library. Within a few seconds, IAM will be active in the system. Once testing has been completed and IAM is in production, you can activate IAM automatically each time the system is IPLed.

Activating-the-IAM-VSAM-Interface of this space contains information on how to activate the IAM VSAM Interface.

Pervasive Encryption

IAM has support for Pervasive Encryption. Both files with and without an Alternate Index (AIX) are supported. IAM files defined using the IDCAMS utility with a Keylabel will be enabled for Pervasive Encryption usage automatically. AIX Data Sets associated with a Base Cluster that is encrypted will automatically also be encrypted using the same Key Label as the Base Cluster.

Record Level Sharing

IAM provides a record-level sharing capability that starts within the scope of a single address space, and is extended by IAM/RLS to multiple concurrent online regions and batch jobs within a z/OS image up to the IAM/PLEX feature that enables IAM data sets to be concurrently shared across multiple z/OS images within a Sysplex.

IAM’s basic processing incorporates a natural record level sharing within the scope of a single address space. IAM does not lock at the CI level, which can delay access to records within a CI even when they are not the object of an update process with LSR, but just happen to be in a CI that does contain a record being updated. This is a particular benefit for online systems, where transactions can be delayed by VSAM due to the CI lockout process. While many users and CICS itself have implemented strategies to minimize the CI lockout, it is still an issue with VSAM that doesn’t exist with IAM

IAM/RLS

IAM/RLS is a feature included in the base IAM product that provides sharing of IAM data sets at the record level between multiple concurrently running applications within a single z/OS image (LPAR). This enables multiple online (CICS) regions to concurrently shareIAM files for update with other CICS regions, batch jobs and TSO users. IAM/RLS includes journaling and recovery capabilities that can be of particular benefit for batch jobs, as CICS already provides recovery for transactions that works with IAM/RLS.

IAM/PLEX

IAM/PLEX is an optional additional cost feature to the IAM product that provides record level sharing of IAM data sets across multiple z/OS images (LPARS) that are within a Sysplex. IAM/PLEX is built on the framework of the IAM/RLS software with the objective of providing an easier mechanism to implement record level sharing at a lower cost than full VSAM/RLS implementation. IAM/PLEX includes all the functions of IAM/RLS including the journaling and recovery capabilities. The intention of the design of the IAM/PLEX is to provide high availability of data access. IAM/PLEX does not guarantee continuous availability or eliminate single points of failure.




 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*