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


Using VSAM RLS with ESDS

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

Using VSAM RLS with ESDSs provides greater scalability and availability over non-RLS VSAM. However, in comparison with non-RLS VSAM, using VSAM RLS with ESDSs might result in performance degradation in certain operating environments.

To serialize the adding of ESDS records across the sysplex, VSAM RLS obtains an "add-to-end" lock exclusively for every record added to the end of the data set. If applications frequently add records to the same ESDS, the requests are serially processed and therefore, performance degradation might be experienced.

In comparison, non-RLS VSAM has a different set of functions and does not require serializing ESDS record additions across the sysplex. If an ESDS is shared among threads, carefully design your use of ESDS with RLS to lessen any possible impact to performance, as compared to the use of ESDSs with non-RLS VSAM.

Note: For VSAM RLS, the system obtains a global data-set-level lock only for adding an ESDS record to the data set, not for reading or updating existing ESDS records. Therefore, GET requests and PUT updates on other records for the data sets do not obtain the "add-to-end" lock. Those updates can be processed while another thread holds the "add-to-end" lock.

How long the RLS "add-to-end" lock is held depends on whether the data set is recoverable and on the type of PUT request that adds the record. If the data set is recoverable, RLS does not implicitly release the lock. The lock is explicitly released by ENDREQ, IDAEADD, or IDALKREL. For nonrecoverable data sets, the PUT SEQ command releases the lock after writing a few buffers, whereas the PUT DIR command releases the lock at the end of the request.

Go to the previous page Go to the next page




Copyright IBM Corporation 1990, 2014