205:
contiguous. If there is not enough free space in a control interval for a record to be inserted, the control interval is split. Roughly half the records are stored in the original control interval while the remaining records are moved into a new control interval. The new control interval is taken from a pool of free control intervals within the same control area as the original control interval. If there is no remaining free control interval within that control area, the control area itself is split and the control intervals are distributed equally between the old and the new control areas.
350:, the Indexed Sequential Access Method. Changes in disk technology had meant that searching for data in ISAM data sets had become very inefficient. It was also difficult to move ISAM data sets as there were embedded pointers to physical disk locations which became invalid if the data set was moved. IBM also provided a compatibility interface to allow programs coded to use ISAM to use a KSDS instead.
201:
and the control information is free space. The control information comprises two types of entry: a control interval descriptor field (CIDF) which is always present, and record descriptor fields (RDF) which are present when there are records within the control interval and describe the length of the associated record. Free space within a CI is always contiguous.
144: – while Control Area sizes are measured in disk tracks or cylinders. Control Intervals are the units of transfer between disk and computer so a read request will read one complete Control Interval. Control Areas are the units of allocation so, when a VSAM data set is defined, an integral number of Control Areas will be allocated.
200:
A control interval normally contains multiple records. The records are stored within the control interval starting from the low address upwards. Control information is stored at the other end of the control interval, starting from the high address and moving downwards. The space between the records
313:
Sharing of VSAM data between CICS regions can be done by VSAM Record-Level
Sharing (RLS). This adds record caching and, more importantly, record locking. Logging and commit processing remain the responsibility of CICS which means that sharing of VSAM data outside a CICS environment is severely
204:
When records are inserted into a control interval, they are placed in the correct order relative to other records. This may require records to be moved out of the way inside the control interval. Conversely, when a record is deleted, later records are moved down so that the free space remains
357:, the Basic Direct Access Method. In some cases, BDAM data sets contained embedded pointers which prevented them from being moved. However, most BDAM data sets did not and the incentive to move from BDAM to VSAM RRDS was much less compelling than that to move from ISAM to VSAM KSDS.
222:
An ESDS may have an index defined to it to enable access via keys, by defining an
Alternate Index. Records in ESDS are stored in order in which they are written by address access. Records are loaded irrespective of their contents and their byte addresses cannot be changed.
329:
VSAM was introduced as a replacement for older access methods and was intended to add function, to be easier to use and to overcome problems of performance and device-dependence. VSAM was introduced in the 1970s when IBM announced
342:
operating systems running on its System/360 computer series. While backwards compatibility was maintained, the older access methods suffered from performance problems due to the address translation required for virtual storage.
434:
With the exception of catalogs, page spaces and swap spaces, which unauthorized applications could access only via specialized OS services. Not to mention the fact that it's been in VSE for ever too and is used in
111:
named "VSAM PRIMER" (especially when used with the "Virtual
Storage Access Method (VSAM) Options for Advanced Applications" manual) explains the concepts needed to make use of VSAM. IBM uses the term
321:, DFSMStvs. This is an optional program that builds on VSAM RLS by adding logging and two-phase commit, using underlying z/OS system services. This permits generalised sharing of VSAM data.
240:
While a basic KSDS only has one key (the primary key), alternate indices may be defined to permit the use of additional fields as secondary keys. An alternate index (AIX) is itself a KSDS.
95:(LDS). The KSDS, RRDS and ESDS organizations contain records, while the LDS organization (added later to VSAM) contains a sequence of pages with no intrinsic record structure, for use as a
499:
193:
VSAM components consist of fixed length physical blocks grouped into fixed length control intervals (CI) and control areas (CA). The size of the CI and CA is determined by the
752:
318:
151:
is commonly used to manipulate ("delete and define") VSAM data sets. Custom programs can access VSAM datasets through Data
Definition (DD) statements in
197:(AMS), and the way in which they are used is normally not visible to the user. There will be a fixed number of control intervals in each control area.
137:
297:
Non-Shared
Resources (NSR), which is optimised for sequential access. NSR access has historically been easier to use than LSR for batch programs.
140:(CIs), and then into larger divisions called Control Areas (CAs). Control Interval sizes are measured in bytes – for example 4
725:
553:
745:
208:
You can use three types of record-orientated file organization with VSAM (the contents of linear data sets have no record structure):
892:
871:
456:
301:
182:
The physical organization of VSAM data sets differs considerably from the organizations used by other access methods, as follows.
784:
533:
275:
An LDS is an unstructured VSAM dataset with a control interval size of a multiple of 4K. It is used by certain system services.
856:
682:
601:
738:
703:
861:
570:
194:
148:
133:
to data locations, such as disk drives, as opposed to devices such as tape drives that can only be read sequentially.
866:
830:
662:
825:
820:
237:
A KSDS has two parts: the index component and the data component. These may be stored on separate disk volumes.
185:
A VSAM file is defined as a cluster of VSAM components, e.g., for KSDS a DATA component and an INDEX component.
902:
815:
375:
805:
394:
287:
Local Shared
Resources (LSR), is optimised for "random" or direct access. LSR access is easy to achieve from
479:
Lovelace, Mary; Dovidauskas, Jose; Salla, Alvaro; Sokal, Valeria (August 2022). "1.3.2 Record management".
121:
41:
584:
810:
390:
69:
897:
610:
261:
An RRDS may have an index defined to it to enable access via keys, by defining an
Alternate Index.
256:
217:
88:
84:
73:
61:
334:
operating systems (DOS/VS, OS/VS1 and OS/VS2) for its new System/370 series, as successors of the
779:
136:
VSAM records can be of fixed or variable length. They are organised in fixed-size blocks called
605:
335:
232:
80:
761:
339:
840:
730:
720:
369:
152:
17:
516:
480:
8:
789:
96:
304:
server, enables programs on remote computers to create, manage, and access VSAM files.
360:
Linear data sets were added later, followed by VSAM RLS and then
Transactional VSAM.
403:
270:
92:
331:
171:
616:
An ESDS VSAM data set contains records in the order in which they were entered
886:
765:
130:
45:
642:
628:
53:
461:
385:
691:
describes considerations for sharing VSAM data sets for NSR or LSR/GSR
629:"US Patent for Providing record-level alternate-index upgrade locking"
399:
244:
141:
167:
163:
49:
155:(JCL), via dynamic allocation or in online regions such as in
478:
760:
380:
354:
347:
288:
156:
65:
300:
Distributed File
Management (DFM), an implementation of a
667:
538:
283:
There are four types of access techniques for VSAM data:
243:
The data structure used by a KSDS is nowadays known as a
57:
38:
188:
170:
are implemented on top of VSAM and use its underlying
663:"Local shared resources (LSR) or nonshared resources"
317:
Sharing between CICS regions and batch jobs requires
60:(MVS) operating systems, later used throughout the
884:
711:(First ed.). IBM. August 1972. GC20-1752-0.
657:
655:
589:Sequential (VSAM ESDS – Entry Sequenced Dataset)
353:The RRDS organization was designed to replace
346:The KSDS organization was designed to replace
746:
652:
474:
472:
147:The Access Method Services utility program
115:in official documentation as a synonym for
753:
739:
602:"ABCs of z/OS System Programming Volume 3"
528:
526:
511:
509:
469:
211:
609:
430:
428:
278:
705:OS/Virtual Storage 1 Features Supplement
675:
488:. Redbooks (3 ed.). IBM. p. 5.
457:"New Life for Legacy Systems at LaBarge"
302:Distributed Data Management Architecture
250:
523:
506:
226:
14:
885:
425:
264:
734:
726:DFSMStvs Overview and Planning Guide
534:"Control Interval Size Limitations"
189:Control intervals and control areas
157:Customer Information Control System
27:IBM disk file programming interface
24:
25:
914:
402:, a similar system developed by
393:, a similar system developed by
893:IBM mainframe operating systems
696:
647:This index is called a B+ tree.
635:
621:
594:
577:
308:
687:IBM.com (IBM Knowledge Center)
563:
546:
492:
449:
416:
376:IBM mainframe utility programs
64:(MVS) architecture and now in
13:
1:
442:
395:Digital Equipment Corporation
294:Global Shared Resources (GSR)
31:Virtual Storage Access Method
122:direct-access storage device
42:direct-access storage device
7:
363:
102:
10:
919:
391:Record Management Services
324:
268:
254:
230:
215:
70:record-oriented filesystem
849:
798:
772:
683:"Sharing VSAM Data Sets"
409:
257:relative record data set
218:entry-sequenced data set
177:
62:Multiple Virtual Storage
212:Sequential organization
585:"Server Functionality"
279:Data access techniques
233:key-sequenced data set
195:Access Method Services
72:, VSAM comprises four
903:Computer file formats
762:OS/360 and successors
269:Further information:
255:Further information:
251:Relative organization
231:Further information:
216:Further information:
571:"VSAM: introductory"
370:Job Control Language
227:Indexed organization
153:Job Control Language
48:, first used in the
44:(DASD) file storage
517:"VSAM – Components"
265:Linear organization
129:) for devices with
319:Transactional VSAM
97:memory-mapped file
880:
879:
138:control intervals
16:(Redirected from
910:
898:IBM file systems
755:
748:
741:
732:
731:
721:VSAM Demystified
713:
712:
710:
700:
694:
693:
679:
673:
672:
659:
650:
649:
639:
633:
632:
625:
619:
618:
613:
598:
592:
591:
581:
575:
574:
567:
561:
560:
558:
550:
544:
543:
542:. 27 March 2014.
530:
521:
520:
513:
504:
503:
496:
490:
489:
487:
482:VSAM Demystified
476:
467:
466:
453:
436:
432:
423:
420:
404:Tandem Computers
21:
918:
917:
913:
912:
911:
909:
908:
907:
883:
882:
881:
876:
845:
794:
768:
759:
717:
716:
708:
702:
701:
697:
681:
680:
676:
661:
660:
653:
643:"What is VSAM?"
641:
640:
636:
627:
626:
622:
611:10.1.1.469.8853
600:
599:
595:
583:
582:
578:
569:
568:
564:
556:
552:
551:
547:
532:
531:
524:
515:
514:
507:
498:
497:
493:
485:
477:
470:
465:. May 11, 2007.
455:
454:
450:
445:
440:
439:
433:
426:
422:No longer used.
421:
417:
412:
366:
332:virtual storage
327:
311:
281:
273:
271:linear data set
267:
259:
253:
235:
229:
220:
214:
191:
180:
172:data structures
105:
89:entry-sequenced
85:relative record
68:. Originally a
28:
23:
22:
15:
12:
11:
5:
916:
906:
905:
900:
895:
878:
877:
875:
874:
869:
864:
859:
853:
851:
847:
846:
844:
843:
838:
833:
828:
823:
818:
813:
808:
802:
800:
796:
795:
793:
792:
787:
782:
776:
774:
770:
769:
766:access methods
758:
757:
750:
743:
735:
729:
728:
723:
715:
714:
695:
674:
651:
634:
620:
593:
576:
562:
554:"User's Guide"
545:
522:
505:
491:
468:
447:
446:
444:
441:
438:
437:
424:
414:
413:
411:
408:
407:
406:
397:
388:
383:
378:
373:
365:
362:
326:
323:
310:
307:
306:
305:
298:
295:
292:
280:
277:
266:
263:
252:
249:
228:
225:
213:
210:
190:
187:
179:
176:
104:
101:
26:
9:
6:
4:
3:
2:
915:
904:
901:
899:
896:
894:
891:
890:
888:
873:
870:
868:
865:
863:
860:
858:
855:
854:
852:
848:
842:
839:
837:
834:
832:
829:
827:
824:
822:
819:
817:
814:
812:
809:
807:
804:
803:
801:
797:
791:
788:
786:
783:
781:
778:
777:
775:
771:
767:
763:
756:
751:
749:
744:
742:
737:
736:
733:
727:
724:
722:
719:
718:
707:
706:
699:
692:
688:
684:
678:
670:
669:
664:
658:
656:
648:
644:
638:
630:
624:
617:
612:
607:
603:
597:
590:
586:
580:
572:
566:
555:
549:
541:
540:
535:
529:
527:
518:
512:
510:
501:
500:"VSAM Primer"
495:
484:
483:
475:
473:
464:
463:
458:
452:
448:
431:
429:
419:
415:
405:
401:
398:
396:
392:
389:
387:
384:
382:
379:
377:
374:
371:
368:
367:
361:
358:
356:
351:
349:
344:
341:
337:
333:
322:
320:
315:
303:
299:
296:
293:
290:
286:
285:
284:
276:
272:
262:
258:
248:
246:
241:
238:
234:
224:
219:
209:
206:
202:
198:
196:
186:
183:
175:
173:
169:
165:
160:
158:
154:
150:
145:
143:
139:
134:
132:
131:random access
128:
124:
123:
118:
114:
110:
100:
98:
94:
90:
86:
82:
81:key-sequenced
78:
77:organizations
75:
71:
67:
63:
59:
55:
51:
47:
46:access method
43:
40:
36:
32:
19:
835:
704:
698:
690:
686:
677:
666:
646:
637:
623:
615:
596:
588:
579:
565:
548:
537:
494:
481:
460:
451:
418:
359:
352:
345:
328:
316:
314:restricted.
312:
309:Sharing data
282:
274:
260:
242:
239:
236:
221:
207:
203:
199:
192:
184:
181:
161:
146:
135:
126:
120:
116:
112:
108:
106:
76:
34:
30:
29:
91:(ESDS) and
887:Categories
462:Datamation
443:References
386:Geneva ERS
56:(SVS) and
773:Low-level
606:CiteSeerX
142:kilobytes
58:Release 2
54:Release 1
52:, OS/VS2
400:Enscribe
364:See also
159:(CICS).
113:data set
103:Overview
87:(RRDS),
83:(KSDS),
74:data set
37:) is an
850:Network
799:Storage
790:STARTIO
336:DOS/360
325:History
245:B+ tree
109:Redbook
107:An IBM
785:EXCPVR
608:
340:OS/360
164:IMS/DB
149:IDCAMS
119:, and
93:linear
50:OS/VS1
709:(PDF)
557:(PDF)
486:(PDF)
435:z/VSE
410:Notes
372:(JCL)
178:Files
162:Both
872:VTAM
867:TCAM
862:QTAM
857:BTAM
836:VSAM
831:ISAM
826:BPAM
821:QSAM
816:BSAM
811:BDAM
806:XDAP
780:EXCP
764:I/O
381:ISAM
355:BDAM
348:ISAM
338:and
289:CICS
166:and
127:DASD
117:file
66:z/OS
35:VSAM
18:VSAM
841:OAM
668:IBM
539:IBM
168:Db2
39:IBM
889::
689:.
685:.
665:.
654:^
645:.
614:.
604:.
587:.
536:.
525:^
508:^
471:^
459:.
427:^
247:.
174:.
99:.
79::
754:e
747:t
740:v
671:.
631:.
573:.
559:.
519:.
502:.
291:.
125:(
33:(
20:)
Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.