z/OS DFSMS Using Data Sets
Previous topic | Next topic | Contents | Contact z/OS | Library | PDF


Advantages of PDSEs

z/OS DFSMS Using Data Sets
SC23-6855-00

This topic compares PDSEs to PDSs.

A PDSE is a data set divided into sequentially organized members, each described by one or more directory entries. PDSEs are stored only on direct access storage devices. In appearance, a PDSE is similar to a PDS. For accessing a PDS directory or member, most PDSE interfaces are indistinguishable from PDS interfaces. However, PDSEs have a different internal format, which gives them increased usability. Each member name can be eight bytes long. The primary name for a program object can be eight bytes long. Alias names for program objects can be up to 1024 bytes long. The records of a given member of a PDSE are written or retrieved sequentially.

You can use a PDSE in place of a PDS to store data, or to store programs in the form of program objects. A program object is similar to a load module in a PDS. A load module cannot reside in a PDSE and be used as a load module. One PDSE cannot contain a mixture of program objects and data members.

PDSEs and PDSs are processed using the same access methods (BSAM, QSAM, BPAM) and macros but you cannot use EXCP because of the data set's internal structures.

PDSEs have several features that improve both your productivity and system performance. The main advantage of using a PDSE over a PDS is that PDSEs automatically reuse space within the data set without anyone having to periodically run a utility to reorganize it. See Rewriting a Member. The size of a PDS directory is fixed regardless of the number of members in it, while the size of a PDSE directory is flexible and expands to fit the members stored in it. Also, the system reclaims space automatically whenever a member is deleted or replaced, and returns it to the pool of space available for allocation to other members of the same PDSE. The space can be reused without having to do an IEBCOPY compress. Figure 1 shows these advantages.

Related reading: For information about macros used with PDSEs, see Processing a Member of a PDSE and z/OS DFSMS Macro Instructions for Data Sets. For information about using RACF to protect PDSEs, see Protecting Data Sets. For information about load modules and program objects see z/OS MVS Program Management: User's Guide and Reference.

Figure 1. A Partitioned Data Set Extended (PDSE)
REQTEXT

In Figure 1, when member B is deleted, the space it occupied becomes available for reuse by new members D and E.

Other advantages of PDSEs follow:
  • PDSE members can be shared. This makes it easier to maintain the integrity of the PDSE when modifying separate members of the PDSE at the same time.
  • Reduced directory search time. The PDSE directory, which is indexed, is searched using that index. The PDS directory, which is organized alphabetically, is searched sequentially. The system might cache in storage directories of frequently used PDSEs.
  • Creation of multiple members at the same time. For example, you can open two DCBs to the same PDSE and write two members at the same time.
  • PDSEs contain up to 123 extents. An extent is a continuous area of space on a DASD storage volume, occupied by or reserved for a specific data set.
  • When written to DASD, logical records are extracted from the user's blocks and reblocked. When read, records in a PDSE are reblocked into the block size specified in the DCB. The block size used for the reblocking can differ from the original block size.
  • Start of change Version 2 PDSEs support generations, which allow you to recover previous levels or to retain multiple levels of a member. For more information, refer to PDSE Member Generations. End of change

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014