z/OS concepts
Previous topic | Next topic | Contents | Glossary | Contact z/OS | PDF

What is a PDSE?

z/OS concepts

The acronym PDSE stands for partitioned data set extended. A PDSE consists of a directory and zero or more members, just like a PDS... But there are some differences between the two.

A PDSE can be created with JCL, TSO/E, and ISPF, just like a PDS, and can be processed with the same access methods. PDSE data sets are stored only on DASD, not on tape.

The directory can expand automatically as needed, up to the addressing limit of 522,236 members. It also has an index, which provides a fast search for member names. Space from deleted or moved members is automatically reused for new members, so you do not have to compress a PDSE to remove wasted space. Each member of a PDSE can have up to 15,728,639 records. A PDSE can have a maximum of 123 extents, but it cannot extend beyond one volume. When a directory of a PDSE is in use, it is kept in processor storage for fast access.

PDSE data sets can be used in place of nearly all PDS data sets that are used to store data. But the PDSE format is not intended as a PDS replacement. When a PDSE is used to store load modules, it stores them in structures called program objects.

In many ways, a PDSE is similar to a PDS. Each member name can be eight bytes long. For accessing a PDS directory or member, most PDSE interfaces are indistinguishable from PDS interfaces. PDS and PDSE data sets are processed using the same access methods (for example, BSAM, QSAM and BPAM). Within a given PDS or PDSE, the members must use the same access method.

However, PDSE data sets have a different internal format, which gives them increased usability. You can use a PDSE in place of a PDS to store data or programs. In a PDS, you store programs as load modules. In a PDSE, you store programs as program objects. If you want to store a load module in a PDSE, you must first convert it into a program object (using the IEBCOPY utility).

PDSE data sets have several features that can improve user productivity and system performance. The main advantage of using a PDSE over a PDS is that a PDSE automatically reuses space within the data set without the need for anyone to periodically run a utility to reorganize it. 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.

Also, 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.

Other advantages of PDSE data sets follow:

  • PDSE members can be shared. This characteristic makes it easier to maintain the integrity of the PDSE when modifying separate members of the PDSE at the same time.
  • The system requires less time to search a PDSE directory. 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 PDSE data sets.
  • You may create multiple PDSE members at the same time. For example, you can open two data control blocks (DCBs) to the same PDSE and write two members at the same time.
  • PDSE data sets 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.

Copyright IBM Corporation 1990, 2010