가상 스토리지 액세스 방법
Virtual Storage Access MethodVSAM([1]Virtual Storage Access Method)은 OS/VS1, OS/VS2 Release 1(SVS) 및 Release 2(MVS) 운영 체제에서 처음 사용되는 IBM DASD 파일 스토리지 액세스 방법이며, 이후 다중 가상 스토리지(MVS) 아키텍처 전체에서 사용되고 현재 z/OS에서 사용되고 있다.원래 기록 지향 파일 시스템인 VSAM은 키 순서(KSDS), 상대 기록(RRDS), 엔트리 순서(ESDS), 선형(LDS)의 4가지[NB 2] 데이터 세트 조직으로 구성된다.[NB 2][2]KSDS, RRDS, ESDS 조직은 레코드를 포함하고 있으며, LDS 조직(나중에 VSAM에 추가됨)은 내장 기록 구조가 없는 페이지 시퀀스를 단순히 포함하고 있어 메모리 매핑된 파일로 사용한다.
개요
"VSAM PRIER"(특히 "고급 애플리케이션을 위한 가상 스토리지 액세스 방법(VSAM) 옵션" 매뉴얼과 함께 사용되는 경우)라는 이름의 IBM Redbook은 VSAM을 사용하는 데 필요한 개념을 설명한다.[3]IBM은 디스크 드라이브와 유사한 다른 장치를 지원했기 때문에 공식 문서에 있는 데이터 세트라는 용어를 파일의 동의어로 사용하고 DASD(직접 액세스 스토리지 장치)를 사용한다.
VSAM 레코드는 고정 길이 또는 가변 길이일 수 있다.그것들은 제어 간격(CIs)[4][5]이라는 고정 크기 블록으로 조직된 다음 제어 영역(CAs)이라는 더 큰 구획으로 조직된다.제어 간격 크기는 바이트(예: 4킬로바이트)로 측정되며 제어 영역 크기는 디스크 트랙 또는 실린더에서 측정된다.제어 간격은 디스크와 컴퓨터 사이의 전송 단위이므로 읽기 요청은 하나의 완전한 제어 간격을 읽는다.제어 영역은 할당 단위이므로 VSAM 데이터 세트가 정의되면 제어 영역의 정수(integrated number of Control Area)가 할당된다.
액세스 방법 서비스 유틸리티 프로그램 IDCAMS는 VSAM 데이터 세트를 조작("삭제 및 정의")하는 데 일반적으로 사용된다.사용자 지정 프로그램은 JCL(Job Control Language)의 DD(Data Definition) 문을 통해 동적 할당을 통해 또는 CICS(Customer Information Control System)와 같은 온라인 영역에서 VSAM 데이터셋에 액세스할 수 있다.
IMS/DB와[citation needed] DB2는[2]: 41 [6] 모두 VSAM 위에 구현되며, 기본 데이터 구조를 사용한다.
VSAM 파일
VSAM 데이터 세트의 물리적 구성은 다음과 같이 다른 액세스 방법에 의해 사용되는 조직과 상당히 다르다.
VSAM 파일은 예를 들어 KSDS A DATA 구성 요소 및 ENDEX 구성 요소와 같은 VSAM 구성 요소의 클러스터로 정의된다.
제어 간격 및 제어 영역
VSAM 구성 요소는 고정 길이 제어 간격[4][5](CI)과 제어 영역(CA)으로 그룹화된 고정 길이의 물리적 블록으로 구성된다.CI와 CA의 크기는 AMS(Access Method Services)에 의해 결정되며, 이용 방식은 일반적으로 이용자에게 보이지 않는다.각 제어 영역에는 일정한 수의 제어 간격이 있을 것이다.
일반적으로 제어 간격은 여러 개의 레코드를 포함한다.레코드는 낮은 주소에서 시작하여 제어 간격 내에 저장된다.제어 정보는 높은 주소에서 시작하여 아래로 이동하는 제어 간격의 다른 끝에 저장된다.기록과 대조 정보 사이의 공간은 자유 공간이다.제어 정보는 항상 존재하는 제어 간격 설명자 필드(CIDF)와 제어 간격 내에 기록이 있을 때 존재하는 기록 설명자 필드(RDF)의 두 가지 항목으로 구성되며 관련 기록의 길이를 설명한다.CI 내의 여유 공간은 항상 연속적이다.
기록을 제어 간격에 삽입하면 다른 기록과 비교하여 정확한 순서로 배치된다.이 경우 기록을 제어 간격 내에서 다른 곳으로 이동해야 할 수 있다.반대로 레코드가 삭제되면 이후 레코드가 아래로 이동되어 여유 공간이 인접하게 유지된다.기록을 삽입할 수 있는 제어 간격의 여유 공간이 충분하지 않은 경우, 제어 간격은 분할된다.기록의 약 절반은 원래 제어 간격에 저장되며 나머지 기록은 새로운 제어 간격으로 이동한다.새 제어 간격은 원래 제어 간격과 동일한 제어 영역 내의 자유 제어 간격 풀에서 취해진다.해당 제어 영역 내에 남아 있는 자유 제어 간격이 없는 경우 제어 영역 자체가 분할되고 제어 간격이 이전 제어 영역과 새 제어 영역 사이에 균등하게 분산된다.
VSAM(선형 데이터 세트의 내용은 레코드 구조가 없음)과 함께 세 가지 유형의 레코드 지향 파일 구성을 사용할 수 있다.
순차 VSAM 조직
ESDS에는 대체 색인을 정의하여 키를 통한 액세스를 가능하게 하는 색인이 정의되어 있을 수 있다.ESDS의 기록은 주소 접근에 의해 작성되는 순서대로 저장된다.[7][8][9]레코드는 내용에 관계없이 로드되며 바이트 주소는 변경할 수 없다.
인덱싱된 VSAM 조직
KSDS는 지수 성분과 데이터 성분이라는 두 부분으로 구성된다.이것들은 별도의 디스크 볼륨에 저장될 수 있다.
기본 KSDS에는 하나의 키(일차 키)만 있지만, 추가 필드를 보조 키로 사용할 수 있도록 대체 지수를 정의할 수 있다.대체 지수(AIX)는 그 자체로 KSDS이다.
KSDS가 사용하는 데이터 구조는 오늘날 B+ 나무로 알려져 있다.[10][11]
상대 VSAM 조직
RRDS에는 대체 색인을 정의하여 키를 통한 액세스를 가능하게 하는 인덱스가 정의되어 있을 수 있다.
선형 VSAM 조직
LDS는 제어 간격 크기가 4K의 배수인 구조화되지 않은 VSAM 데이터 집합이다.그것은 특정 시스템 서비스에 의해 사용된다.
VSAM 데이터 액세스 기술
VSAM 데이터 액세스 기술에는 다음 네 가지가 있다.
- 로컬 공유 리소스(LSR)는 "랜덤" 또는 직접 액세스를 위해 최적화된다.LSR 액세스는 CICS에서 쉽게 달성할 수 있다.[12]
- 글로벌 공유 리소스(GSR)[13]
- 순차적 액세스에 최적화되어 있는 NSR(Non Shared Resources)NSR 액세스는 역사적으로 배치 프로그램의 경우 LSR보다 사용이 더 쉬웠다.[12]
- 분산 데이터 관리 아키텍처 서버의 구현인 DFM(분산 파일 관리)은 원격 컴퓨터의 프로그램에서 VSAM 파일을 생성, 관리 및 액세스할 수 있도록 한다.
VSAM 데이터 공유
CICS 영역 간 VSAM 데이터 공유는 VSAM RLS(Record-Level Sharing)를 통해 수행할 수 있다.이것은 레코드 캐싱과 더 중요한 것은 레코드 잠금을 추가한다.로깅 및 커밋 프로세싱은 CICS의 책임으로 남아 있으며, 이는 CICS 환경 외부의 VSAM 데이터 공유가 심각하게 제한됨을 의미한다.
CICS 영역과 배치 작업 간의 공유에는 트랜잭션 VSAM, DFSMStv가 필요하다.기본 z/OS 시스템 서비스를 사용하여 로깅 및 2상 커밋을 추가하여 VSAM RLS를 기반으로 하는 선택적 프로그램이다.이를 통해 VSAM 데이터의 일반화된 공유가 가능하다.
역사
VSAM은 기존 액세스 방법을[14] 대체하기 위해 도입되었으며 기능 추가, 사용 편의성, 성능 및 장치 의존성 문제를 극복하기 위한 것이었다.VSAM은 1970년대에 IBM이 시스템/360 컴퓨터 시리즈에서 실행되는 DOS/360과 OS/360 운영 체제의 후속자로서 새로운 시스템/370 시리즈의 가상 스토리지 운영 체제(DOS/VS, OS/VS1, OS/VS2)를 발표하면서 도입되었다.역호환성이 유지되는 동안 기존 액세스 방식은 가상 스토리지에 필요한 주소 변환 때문에 성능 문제로 어려움을 겪었다.
KSDS 조직은 ISAM, 즉 인덱싱된 순차 접근 방식을 대체하기 위해 설계되었다.디스크 기술의 변화는 ISAM 데이터 세트의 데이터 검색이 매우 비효율적이 되었다는 것을 의미했다.데이터 세트를 이동하면 무효가 되는 물리적 디스크 위치에 포인터가 내장돼 있어 ISAM 데이터 세트를 이동하기도 어려웠다.IBM은 ISAM을 사용하도록 코딩된 프로그램이 KSDS를 대신 사용할 수 있도록 호환성 인터페이스도 제공했다.
RRDS 조직은 기본 직접 액세스 방법인 BDAM을 대체하도록 설계되었다.BDAM 데이터 세트에는 이동하지 못하도록 하는 포인터가 내장되어 있는 경우도 있었다.그러나 대부분의 BDAM 데이터 세트는 그렇지 않았고 BDAM에서 VSAM RRDS로 이동하려는 동기는 ISAM에서 VSAM KSDS로 이동하는 동기에 비해 훨씬 덜 설득력이 있었다.
나중에 선형 데이터 세트가 추가되었고 VSAM RLS, 트랜잭션 VSAM이 그 뒤를 이었다.
참고 항목
- JCL(Job Control Language)
- IBM 메인프레임 유틸리티 프로그램
- ISAM
- 제네바 에르스
- Digital Equipment Corporation이 개발한 유사한 시스템인 레코드 관리 서비스
메모들
참조
- ^ "New Life for Legacy Systems at LaBarge". Datamation. May 11, 2007.
- ^ a b Lovelace, Mary; Dovidauskas, Jose; Salla, Alvaro; Sokal, Valeria (March 2013). "1.3.2 Record management". VSAM Demystified (PDF). Redbooks (3 ed.). IBM. p. 5.
- ^ "VSAM Primer".
- ^ a b "VSAM - Components".
- ^ a b "Control Interval Size Limitations".
- ^ "User's Guide" (PDF).
- ^ "VSAM: introductory".
- ^ "Server Functionality".
Sequential (VSAM ESDS - Entry Sequenced Dataset)
- ^ "ABCs of z/OS System Programming Volume 3".
An ESDS VSAM data set contains records in the order in which they were entered
- ^ "US Patent for Providing record-level alternate-index upgrade locking".
- ^ "What is VSAM?".
This index is called a B+ tree.
- ^ a b "Local shared resources (LSR) or nonshared resources".
- ^ "Sharing VSAM Data Sets". IBM.com (IBM Knowledge Center).
describes considerations for sharing VSAM data sets for NSR or LSR/GSR
- ^ OS/Virtual Storage 1 Features Supplement (PDF) (First ed.). IBM. August 1972. GC20-1752-0.