The Virtual Storage Access Method (VSAM) |
Introduction to VSAM |
VSAM is an IBM data access method that enables you to organize and access records in a disk data set. VSAM is available under the z/OS operating environment. There are three types of data set organization:
VSAM has three types of access to records in VSAM data sets:
In addition, VSAM provides the following access and retrieval options:
SAS supports all of these VSAM features, although not necessarily in all possible combinations. By specifying options in the INFILE statement in your SAS program, you can read, update, create, and erase records from VSAM data sets. See Supported VSAM Operations and Access Types for a summary of the operations that SAS supports.
Access Methods |
Access methods are software routines that control the data transfer between primary storage (main memory) and secondary storage devices. Secondary, or auxiliary, storage is independent of the computer's memory (for example, storage on tape or disk). VSAM is designed specifically for use with disks. Because VSAM data set structure permits the use of both direct and sequential access types, you can select either the type or the combination of access types that best suits your specific application requirements.
Direct access means that you have the ability to read any data record in a data set directly, without reading preceding records in the data set. For more information, see Direct Access. (The terms direct and random are sometimes used interchangeably when referring to data organization, access methods, and storage devices. SAS documentation uses the term direct, but you might find that random is used in other literature.)
Sequential access means that you retrieve a series of records in sequence. Sequence has a different meaning for each of the three VSAM data set organizations. For more information, see Sequential Access.
Skip sequential access means that you use a combination of both direct and sequential access. For more information, see Skip Sequential Access.
Access Methods and File Organization |
Data stored on IBM disks can be organized in a number of ways, which are referred to as data set types. IBM software supports the following data set types:
VSAM data sets can be one of the following:
In each data set type except VSAM, the records are organized in a unique way, depending on their purpose. Each type of data set organization has one or more special access methods. (For example, a data set that uses DA organization is characterized by a predictable relationship between the key of a record and the address of that record on a DASD device.) The programmer establishes this relationship and must supply most of the logic required to locate the individual records.
VSAM is a multifunction, all-purpose access method. VSAM is different from the other data set types because it provides a functional equivalent for most of the other data set organizations, as follows:
ESDS organization is the functional equivalent of Physical Sequential organization (PS).
KSDS organization is the functional equivalent of Indexed Sequential organization (IS).
RRDS organization is the functional equivalent of Direct Access organization (DA).
The types of data set organizations that you access with VSAM differ from others for two reasons:
They are device independent from the user's viewpoint.
They can be both sequentially and directly accessed.
You access a record by addressing the record in terms of its displacement (in bytes) from the beginning of the data set, by its key, or by its record number.
The root of the VSAM access method is the VSAM catalog, which is a disk area for defining data sets and disk space and for maintaining information about each VSAM data set. VSAM catalogs and data sets are created and managed with IBM Access Method Services (AMS), a multifunction service program.
Types of VSAM Data Sets |
There are three types of VSAM data sets. The main difference between the three data set types is the logical order in which data records are arranged in the data set. The following is a description of each type of VSAM data set:
VSAM Data Set Organization: Data Components and Index Components shows how the three types of VSAM data sets are organized.
When a VSAM data set is created, it is defined in a cluster. A cluster encompasses the components of a VSAM data set. ESDS and RRDS clusters have only a data component. A KSDS cluster has a data component and an index component. The index relates each record's key to its location in the data set. VSAM uses the index to sequence and locate the records of a KSDS.
Comparison of VSAM Data Set Types summarizes the differences between the three VSAM data set types.
VSAM Data Set Organization: Data Components and Index Components
|
ESDS | KSDS | RRDS |
---|---|---|---|
What is the method for sequential access? | Entry order | Primary key order | RRN2 |
What is the method for direct access? | RBA2 | Key RBA | RRN |
What are the types of record format? | Fixed | Fixed | Fixed |
Is record length changeable? | No | Yes | No |
Where are new records added? | End of file | Anywhere | RRN slot |
Is embedded free space defined?1 | No | Yes | No |
Can you delete records and reuse space? | No3 | Yes | Yes |
Can you access the data set through an alternate index? | Yes | Yes | No |
Can you REUSE the file? | Yes | Yes | Yes |
Can RBA or RRN change? | No | Yes | No |
1
You can insert records and change their
lengths.
2 RRN= relative-record number, RBA= relative-byte address, and AIX= alternative index 3 You can, however, overlay a record if the length does not change. |
VSAM Record Structure and Organization |
Records in VSAM data sets are grouped into control intervals, the units of data transfer between main storage and secondary disk storage. Control intervals are continuous areas of direct access storage that VSAM uses for storing records and to control information describing them. Although the size of control intervals varies from one data set to another, the size within a data set is fixed, either by VSAM or by the user (within VSAM imposed restrictions). If VSAM chooses the size, it does so based on the DASD type, record size, and smallest amount of virtual storage space that the user applications make available for I/O buffers. A spanned record is one that exceeds the established control interval size by spanning one or more control interval boundaries. Spanned records are permitted in an ESDS and a KSDS, but not in an RRDS.
Control intervals are grouped into control areas. Control areas are the units of a data set that VSAM preformats as records are added to the data set. VSAM fixes the number of control intervals for each control area. (See ESDS Control Intervals and Control Areas, KSDS Control Intervals and Control Areas, and RRDS Control Intervals and Control Areas for depictions of the control interval formats used by each of the data set types.) KSDS control areas are used for distributing free space throughout the data set, as a percentage of control intervals per control area.
ESDS Control Intervals and Control Areas
KSDS Control Intervals and Control Areas
RRDS Control Intervals and Control Areas
Copyright © 2008 by SAS Institute Inc., Cary, NC, USA. All rights reserved.