![]() |
VSAM KSDS Performance and Tuning
Duration: 3 days |
Participants: Application developers and analysts. |
Objectives:
Upon successful completion of this course you will be able to:
- Describe areas to focus on to create VSAM KSDS files that perform well, and areas to consider when tuning a VSAM KSDS. - Create VSAM KSDS datasets with high performance. - Maintain VSAM KSDS datasets to keep high performance. - Write COBOL or Assembler programs that access and update VSAM files using sequential, dynamic, and random access techniques that perform well. |
Overview: This course is designed for experienced programmers who are already using IDCAMS to create VSAM KDSD datasets and who are already coding COBOL or Assembler programs that access VSAM KDSD files. It covers VSAM KSDS architecture, coding of IDCAMS utility commands with performance in mind, maintenance of VSAM KSDS files, and techniques for improving COBOL or Assembler program access and updating of VSAM KSDS files. |
Prerequisites: Participants must be able to create simple VSAM KSDS datasets using IDCAMS and appropriate control statements, code basic JCL statements, use the edit and submit facilities of TSO, and code simple COBOL or Assembler programs that access or update VSAM KSDS files. |
Format: Instructor-led and hands-on computer workshops. |
Topic Outline:
- VSAM KSDS Architecture (An understanding of VSAM architecture leads to better understanding for how to improve VSAM performance.) VSAM Components Cluster Index, Multi-level indexes, Sequence Set Data Record Storage Control Interval Control Area Freespace Terminology Brief Comparison with ESDS and RRDS - Types of Access (Defining high-performing VSAM files depends on how they will be accessed.) Dynamic Random Sequential Skip-sequential Forwards and Backwards Update, Delete vs Access CICS vs Batch Access How big is the batch window? - Defining for Performance IDCAMS DEFINE and JCL for IDCAM - Review Estimating Size SPACE Allocation - Cylinders, Tracks, Records VOLUME 3380 vs 3390 CI Size for Index - Formulas, Recommendations CI Size for Data - Formulas, Recommendations Blocksize BUFFERSPACE, BUFND, and BUFNI CA Size Free Space For Index For Data Uneven Free Space Distribution ERASE/NOERASE - Performance vs Security SPEED/RECOVERY - Performance for Load REUSE WRITECHECK/NOWRITECHECK Cache and RAID vs Older Disk Storage IMBED/NOIMBED - Impact of Newer Disk Technology REPLICATE/NOREPLICATE - Impact of Newer Disk Technology Condition Codes Modal Commands and Examples Alternate Indexes DEFINE ALTERNATEINDEX Data Record Layout DEFINE PATH BLDINDEX SMS DATACLASS Definitions Variable Blocked SPANNED - Yes for ESDS, No for KSDS Files That Are Completely Empty Most of the Time EXTENDED ADDRESSING SMB (System Managed Buffering) SHAREOPTIONS and Locking Compression - Maintaining for Performance LISTCAT CI and CA Splits Extents Reorganization Recognizing When Frequent Reorgs Are a Reflection of a Freespace Problem When Reorgs Are Not Needed REPRO ALTER VERIFY - Programming for Performance in COBOL and Assembler Programs COBOL View of VSAM VSAM Comparison Coding COBOL/Assembler to Use VSAM File-Control Phrases ASSIGN Clause Organization Clause Record Key Clause Relative Key Access Mode File Status Procedure Division Verbs Open Statement Read Statement Start Current Record Pointer Write Rewrite Delete Common VSAM File Status Codes Generic Keys Using Alternate Indexes Coding to Take Advantage of Indexes Coding to Efficiently Access/Update a VSAM File Choosing and Alternating Between Access Options RLS - Record Level Sharing Lock Considerations Concurrent Positioning for Multiple Requests; NSR Dataset Buffering - LSR (Local Shared Resources), NSR (Nonshared Resources) VSAM Examples - Running for Performance Backups / Broken Catalog Entries Obtaining Diagnostic Information Sysplex |
|