Virtual Storage Access Method: Difference between revisions

Content deleted Content added
Sequential organization: "type of data set organization used by VSAM", as for other types, not a "type of VSAM".
used -> supported
 
Line 21:
 
==Files==
The physical organization of VSAM data sets differs considerably from the organizations usedsupported by other access methods, as follows.
 
A VSAM file is defined as a cluster of VSAM components, e.g., for KSDS a DATA component and an INDEX component.
Line 35:
 
===Sequential organization===
An '''entry-sequenced data set''' ('''ESDS''') is a type of [[data set (IBM mainframe)|data set]] organization usedsupported by VSAM.<ref name="demystified"/>{{rp|5}} Records are accessed based on their sequential order, that is, the order in which they were written to the file;<ref>{{cite web|url=https://walton.uark.edu/enterprise/IBM/systemZ/downloads/module3/VSAM-Introductory.ppt|title=VSAM: introductory}}</ref><ref>{{cite web |title=Server Functionality |url=https://supportline.microfocus.com/documentation/books/tps62/mafunc.htm |quote=Sequential (VSAM ESDS – Entry Sequenced Dataset)}}</ref><ref>{{cite web|url=http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.469.8853&rep=rep1&type=pdf|quote=An ESDS VSAM data set contains records in the order in which they were entered|title=ABCs of z/OS System Programming Volume 3|citeseerx=10.1.1.469.8853}}</ref> which means that accessing a particular record involves searching all the records [[Sequential access|sequentially]] until it is located, or by using a relative physical address (''Relative byte address'', RBA), i.e. the number of bytes from the beginning of the file to start reading.<ref name="demystified"/>{{rp|28}}
 
Records are loaded irrespective of their contents and their byte addresses cannot be changed.
Line 81:
 
===Indexed organization===
A '''key-sequenced data set''' (KSDS) is a type of [[data set (IBM mainframe)|data set]] usedsupported by VSAM.<ref name="demystified"/>{{rp|5}} Each record in a KSDS data file is embedded with a unique key.<ref name="demystified"/>{{rp|20}} A KSDS consists of two parts, the data component and a separate [[index file]] known as the index component which allows the system to physically locate the record in the data file by its key value.<ref name="demystified"/>{{rp|13}} Together, the data and index components are called a cluster.<ref name="demystified"/>{{rp|15}}
 
Records can be accessed randomly or in sequence and can be variable-length.
Line 92:
 
===Relative organization===
A '''relative record data set''' (RRDS) is a type of [[data set (IBM mainframe)|data set]] organization usedsupported by VSAM.<ref name="demystified"/>{{rp|5}} Records are accessed based on their ordinal position in the file (''relative record number'', RRN).<ref name="demystified"/>{{rp|29}} For example, the desired record to be accessed might be the 42nd record in the file out of 999 total. The concept of RRDS is similar to [[sequential access]] method, but it can access with data in [[random access]] and dynamic access.{{huh|date=April 2021}}
 
An RRDS consists of data records in sequence, with the record number indicating the record's logical position in the data set.<ref name="demystified"/>{{rp|29}} A program can access records randomly using this positional number or access records sequentially.<ref name="demystified"/>{{rp|30}} But unlike a [[Key Sequenced Data Set]], an RRDS has no keys, so the program cannot access records by key value.
 
=== Linear organization ===
A '''linear data set''' (LDS) is a type of [[data set (IBM mainframe)|data set]] organization usedsupported by VSAM.<ref name="demystified"/>{{rp|5}} The LDS has a control interval size of 4096 bytes to 32768 bytes<ref>{{cite manual|title = z/OS 2.5 DFSMS Using Data Sets|id = SC23-6855-50| section = Linear Data sets| section-url = https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R5sc236855/$file/idad400_v2r5.pdf#page=126|page = 91|date = September 30, 2021|url = https://www-01.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R5sc236855/$file/idad400_v2r5.pdf|publisher = IBM}}</ref> in increments of 4096.<ref name="demystified"/>{{rp|31}} A LDS does not have embedded control information, because it does not contain control information, the LDS cannot be accessed as if it contained individual records.<ref>{{Cite web|title=IBM Knowledge Center|url=https://www.ibm.com/support/knowledgecenter/en/SSLTBW_2.1.0/com.ibm.zos.v2r1.idad400/d4261.htm|access-date=2021-02-07|website=www.ibm.com| date=27 March 2014 |language=en-US}}</ref>
 
Addressing within an LDS is by Relative Byte Address (RBA), which allows it to be used by systems such as [[IBM Db2]] or the Operating system.{{huh|date=April 2021}} The benefit of this is that systems such as the OS can access multiple disk spindles and view it as a single storage implementation. The limitations of this, though, is that this does not make this particularly useful to higher level abstraction levels.{{or|date=April 2021}} Data In Virtual{{sfn|ASMGUIDE|loc=Chapter 14. Data-in-virtual|pp=[https://www.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R5sa231368/$file/ieaa600_v2r5.pdf#page=253 225-248]}} (DIV) and Window services{{sfn|ASMGUIDE|loc=Chapter 17. Window Services|pp=[https://www.ibm.com/servers/resourcelink/svc00100.nsf/pages/zOSV2R5sa231368/$file/ieaa600_v2r5.pdf#page=321 293-310]}} provide an alternative method to direct use of VSAM to access an LDS with a CI size of 4096.