VSAM
编辑VSAM(VSAM,“Virtual Memory Access Method”)是 IBM 大型机系统自 1970 年代以来使用的一种文件访问方法。 命名基于能够寻址文件内容(如(虚拟)主内存中的单元格)的想法,这在 RBA(相对字节地址)的帮助下得到支持。 这使得首次不再需要考虑存储介质(例如印版滚筒)的物理特性成为可能。 VSAM 广泛用于 z/OS 和 z/VSE 操作系统。
概览
编辑从技术上讲,VSAM 文件由目录中的条目、带有元数据的 VVDS(VSAM 卷数据集)和一个或多个磁盘上的至少一个物理文件组成。 因此,VSAM 文件也称为簇(意思是数据堆)。 有不同形式的 VSAM 集群:
KSDS(Key Sequential Dataset)对于这种类型的文件,VSAM 通过索引访问数据,该索引存储在操作系统级别的单独数据集中。 同样,支持顺序访问。 这种组织形式本质上对应于使用索引顺序访问方法(ISAM)组织的文件格式 ESDS(Entry sequential data set) 通过这种文件形式,VSAM 顺序访问文件的数据库。 记录按照它们在文件中的确切顺序一个接一个地被读取。 借助替代索引,以后可以借助索引(关键字段)进行直接访问。RRDS(相对记录数据集)VSAM 借助逻辑记录号访问数据。LDS(线性数据集)VSAM 管理数据作为非结构化字节流,但可以由应用软件任意解释。
VSAM 文件是使用 IDCAMS 实用程序在 z/OS 上创建和管理的。 它们可以用那里所有常见的编程语言进行处理。
IMS(在 z/VSE 下:DL/I)或 DB2 等数据库系统使用 VSAM 集群来存储它们的数据。 z/OS 集成目录系统 (ICF) 目录是 VSAM 文件。 其他中央系统组件也使用 VSAM 文件(通常是 LDS)进行数据存储。 例子:
- 硬件配置(HCD)
- 系统记录器
- zSeries zFS 文件系统
示例:VSAM-KSDS 的使用
编辑由于键(key)通常由几条信息组成,例如“发布日期、文章、数量”,而VSAM集群是根据键排序的,所以对于以a开头的所有记录,都有一个高效快速的访问选项部分密钥。
例如,应选择过帐日期为 2003 年 1 月的所有记录。 为此,VSAM 提供了 GENKEY 选项,它代表通用密钥。 第一次读取时,READ 命令会得到一个仅包含 6 个字节(“YYYYMM”)的密钥。 从那里您可以继续按顺序读取,直到密钥的前 6 个字节不再匹配。 在伪代码中它可能看起来像这样:
- 将 END 设置为“N”
- 使用通用密钥在 VSAM 环境中打开文件。
- 读取key以“200301”开头的第一条记录。
- 只要 END 不等于“J”:
- 写记录到打印机
- 阅读下一条记录
- 如果到达文件末尾或刚刚读取的记录的键的开头不再匹配:
- 将 END 设置为“J”
- 关闭文件
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/347538/