IMS repository index and member data sets

Each IMS repository definition has room for three pairs of repository data sets, identified as RDS1, RDS2, and RDS3. Each pair consists of a repository index data set (RID) and a repository member data set (RMD).

At least two pairs must be defined. A third, optional, pair can be defined as a spare. The purpose of the spare is to replace either of the active copies in the event of a write failure.

Repository index data sets

Each current member or history member has an RID record. The RID is the data that describes the repository member. It is like the directory data for a PDS member.

The record is a fixed length of 282 bytes with one record per member. Each RID record has a physical key, data, and a record identifier.

The RID also has a single control record, which is used to ensure data integrity.

Repository member data sets

Each current member or history member that has member data has at least one RMD record. This data can be segmented, compressed, or both. It is possible to save a member with no member data. In this case there is an RID record for the member, but no RMD records.

Physically, RMD data set records are variable length. Their minimum size is 12 bytes (the RMD data prefix length), and their maximum size is the size supported by the data sets. The nature of the members saved in the repository determines the average length of the RMD records in a given RMD.

The RMD also has a single control record, which is used to ensure data integrity.

In order to support member data longer than the maximum record size (RECORDSIZE) of the RMD, data segmentation is performed. The segmentation process is not apparent to the user. The member data is always viewed as a contiguous string.

z/OS® service CSRCESRV run length-encoding compression is employed on member data provided that:
  • This z/OS service is available.
  • The total member data length exceeds 256 bytes.
  • Compression proves to be effective.