데이터 세트(IBM 메인프레임)
Data set (IBM mainframe)S/360 라인의 IBM 메인프레임 컴퓨터의 맥락에서 데이터 세트(IBM 선호) 또는 데이터 세트는 레코드 조직을 가진 컴퓨터 파일이다.이 용어의 사용은 예를 들어 DOS/360, OS/360과 함께 시작되었으며, 현재 z/OS를 포함한 후속 사용자가 여전히 사용하고 있다.이러한 시스템에 대한 문서화는 역사적으로 파일보다는 이 용어를 선호했다.
데이터 세트는 일반적으로 DASD(직접 액세스 저장 장치) 또는 자기 테이프에 저장되지만 펀치 카드 리더, 카드 펀치, 라인 프린터 및 페이지 프린터와 같은 장치 기록 장치는 데이터 세트(파일)에 대한 입출력(I/O)을 제공할 수 있다.[1][2]
데이터 세트는 바이트의 구조화되지 않은 스트림이 아니라, 에 의해 결정되는 다양한 논리 기록과[3] 블록 구조로 구성된다.DSORG
(데이터 세트 조직),RECFM
(기록 형식) 및 기타 매개변수이러한 파라미터는 예를 들어 작업 제어 언어를 사용하여 데이터 세트 할당(생성) 시 지정된다. DD
진술들실행 중인 프로그램 내에서 데이터 제어 블록(DCB) 또는 ACB(액세스 제어 블록)에 저장되며, 이는 액세스 방법을 사용하여 데이터 세트에 액세스하는 데 사용되는 데이터 구조다.
데이터 세트의 레코드는 고정, 가변 또는 "정의되지 않은" 길이일 수 있다.[4]
데이터 세트 조직
OS/360의 경우 DCB는DSORG
매개변수는 데이터 집합의 구성 방법을 지정한다.그럴지도[5] 모른다.
- CQ
- MCP(Message Control Program)의 QTAM(Query Telecommunication Access Method)
- CX
- 통신회선군
- DA
- BDAM(Basic Direct Access Method)
- GS
- GAM(Graphics Access Method)용 그래픽 장치
- IS
- ISAM(Indexed Sequential Access Method)
- MQ
- 응용 프로그램의 QTAM 메시지 대기열
- PO
- 분할됨
- PS
- 물리적 순차
다른 것들 중에.테이프의 데이터 세트는 DSORG=PS일 수 있다.조직의 선택은 데이터에 액세스하는 방법, 특히 데이터를 업데이트하는 방법에 따라 달라진다.
프로그래머는 데이터 세트를 읽고 쓰는 프로그램에서 다양한 액세스 방법(QSAM 또는 VSAM 등)을 활용한다.접근 방법은 주어진 데이터 세트 조직에 따라 달라진다.
레코드 형식(RECFM)
조직과 관계없이 각 기록의 물리적 구조는 본질적으로 동일하며, 데이터 집합 전체에 걸쳐 균일하다.이는 DCB에 명시되어 있다.RECFM
매개 변수 RECFM=F
기록이 고정된 길이로, 다음을 통해 지정됨을 의미한다.LRECL
매개 변수 RECFM=V
가변 길이 레코드를 지정한다.미디어에 저장될 때 V 레코드는 레코드의 정수 길이(바이트 및 플래그 비트)를 포함하는 RDW(Record Descriptor Word)로 접두사 된다.와 함께RECFM=FB
그리고RECFM=VB
여러 논리 레코드를 테이프 또는 DASD의 단일 물리적 블록으로 그룹화한다.FB와 VB는fixed-blocked
, 그리고variable-blocked
각각,RECFM=U(정의되지 않음)도 가변 길이지만 기록의 길이는 제어장이 아닌 블록의 길이에 의해 결정된다.
그BLKSIZE
매개변수는 블록의 최대 길이를 지정한다. RECFM=FBS
[6] 또한 명시될 수 있다, 의미fixed-blocked standard
, 즉 마지막 블록을 제외한 모든 블록이 완전해야 함을 의미한다.BLKSIZE
길이 RECFM=VBS
또는variable-blocked spanned
는 논리 레코드가 두 개 이상의 블록에 걸쳐 확장될 수 있음을 의미하며, RDW의 플래그는 레코드 세그먼트가 다음 블록으로 계속되거나 이전 블록에서 계속되었는지 여부를 나타낸다.
이 메커니즘은 레코드를 분리하기 위해 어떤 "지연자" 바이트 값도 사용할 필요가 없다.따라서 데이터는 잘못된 기록 종료 조건을 도입하지 않고 이진 정수, 부동 소수점 또는 문자를 포함한 모든 유형의 데이터가 될 수 있다.데이터 세트는 바이트의 구조화되지 않은 스트림과 대조적으로 레코드 모음을 추상화한 것이다.
분할된 데이터 세트
PDS([7]partitioned data set)는 여러 멤버를 포함하는 데이터 세트로서, 각 멤버는 다른 형식의 파일 시스템의 디렉토리와 유사하게 별도의 하위 데이터 세트를 가지고 있다.이러한 유형의 데이터 세트는 로드 모듈(이전 형식 바인딩 실행 프로그램), 소스 프로그램 라이브러리(특히 Assembler 매크로 정의), ISPF 화면 정의 및 작업 제어 언어를 보유하는 데 종종 사용된다.PDS는 Zip 파일 또는 COM 구조 저장소와 비교할 수 있다.
분할된 데이터 세트는 단일 볼륨에만 할당할 수 있으며 최대 크기는 65,535 트랙이다.
회원 외에도 PDS에는 디렉토리도 포함되어 있다.각 회원은 디렉토리 구조를 통해 간접적으로 접속할 수 있다.멤버가 위치하면 해당 멤버에 저장된 데이터는 PS(순차) 데이터 세트와 동일한 방식으로 처리된다.
구성원이 삭제될 때마다 해당 구성원이 사용한 공간은 다른 데이터를 저장하는 데 사용할 수 없다.마찬가지로 회원을 재작성하면 PDS 후면의 새로운 지점에 저장되어 중간에 낭비되는 '죽은' 공간을 남겨둔다.비활성(dead) 공간을 복구하는 유일한 방법은 파일 압축을 수행하는 것이다.[8]IEBCOPY 유틸리티를 사용하여 수행되는 압축은 모든 구성원을 데이터 공간 앞쪽으로 이동시키고 뒤쪽에 사용 가능한 공간을 남겨둔다.[9](현대 용어로는 이러한 종류의 작업을 조각 모음 또는 가비지 수집이라고 할 수 있으며, 오늘날 데이터 압축은 다른, 더 복잡한 개념을 가리킨다.)PDS 파일은 디렉토리 구조를 사용하여 개별 구성원에 접근하기 위해 자기 테이프가 아닌 DASD에만 존재할 수 있다.분할된 데이터 세트는 여러 작업 제어 언어 파일, 유틸리티 제어 문 및 실행 가능한 모듈을 저장하는 데 가장 많이 사용된다.
이 체계의 개선은 MVS/XA 및 MVS/ESA 시스템용 DFSMSdfp와 함께 도입된 분할 데이터 세트 확장(PDSE 또는 PDS/E, 때로는 라이브러리만 해당)이다.PDS/E 라이브러리는 프로그램 개체나 다른 유형의 멤버를 저장할 수 있지만 둘 다 저장할 수는 없다.BPAM은 프로그램 개체가 포함된 PDS/E를 처리할 수 없다.
PDS/E 구조는 PDS와 유사하며 동일한 유형의 데이터를 저장하는 데 사용된다.그러나 PDS/E 파일은 PDS/E를 정의할 때 디렉토리 블록의 사전 배분이 필요 없는 더 나은 디렉토리 구조를 가지고 있다(따라서 충분히 지정되지 않은 경우 디렉토리 블록이 부족하지 않음).또한 PDS/E는 "죽은" 공간을 회수하기 위해 압축 작업이 필요하지 않은 방식으로 구성원을 자동으로 저장한다.[8]PDS/E 파일은 디렉터리 구조를 사용하여 개별 멤버에 액세스하기 위해 DASD에만 상주할 수 있다.
생성 데이터 그룹
Generation Data Group[10](GDG)[11]은 IBM 메인프레임(OS 또는 DOS/VSE 실행)에 저장된 역사 관련 데이터의[13] 연속 세대인 비 VSAM 데이터 집합의[12] 그룹이다.[14]
GDG는 보통 분류된다.[13]
GDG 컬렉션의 개별 멤버를 "세대 데이터 세트"라고 부른다.[13][15]후자는 절대 숫자 ACCTG로 식별할 수 있다.USRGDG(1234) 또는 상대 번호: 이전 세대의 경우 (-1), 현재 세대의 경우 (0)[16] 및 다음 세대의 경우 (+1)
GDG JCL & 특징
Generation Data Group은 다양한 파라미터를 설정할 수 [17]있는 IDCAMS 유틸리티를 사용하여 정의된다.
- LIMIT(10)는 세대 수 제한을 10개로 제한한다.
- Scratch FOR(91)는 최소 91일 동안 각 멤버를 제한적으로 유지한다.
IDCAMS는 또한 GDG를 삭제할 수 있으며 선택적으로 카탈로그를 만들지 않을 수도 있다.[18]
참조
- ^ "What is a catalog?".
Cataloging of data sets on magnetic tape ...
- ^ "IBM Knowledge Center - Home of IBM product documentation". publib.boulder.ibm.com.
- ^ "What is a data set?".
data set .. a file that contains one or more records.
- ^ "Data set record formats".
Records are either fixed length or variable length in a given data set.
- ^ "Section IV: The DD Statement -- DCB Parameter" (PDF). IBM System/3S0 Operating System: Job Control Language Reference - OS Release 21.7 (PDF). Systems Reference Library. IBM. pp. 138–139. GC28-6704-4.
- ^ "Example: Record format VBS".
Variable-length, blocked, spanned (VBS)
- ^ "Structure of a PDS", z/OS DFSMS Using Data Sets Version 2 Release 3 (PDF), October 2, 2018, SC23-6855-30
- ^ a b Stephens, David (Oct 2008). What On Earth is a Mainframe?. Lulu.com. p. 52. ISBN 978-1-4092-2535-5. Retrieved May 11, 2018.
- ^ "Compressing a Partitioned Data Set", z/OS DFSMSdfp Utilities Version 2 Release 3 (PDF), IBM Corporation, July 17, 2017, SC23-6864-30,
A partitioned data set will contain unused areas (sometimes called gas) where a deleted member or the old version of an updated member once resided. This unused space is only reclaimed when a partitioned data set is copied to a new data set, or after a compress-in-place operation successfully completes. It has no meaning for a PDSE and is ignored if requested.
- ^ "Generation Data Groups (GDG's), an Introduction with Examples".
create and process a Generation Data Group or GDG on ...
- ^ "JCL TUTORIAL REFERENCE - Generation Data Groups".
Generation Data Groups (GDG)
- ^ "What is a generation data group?". IBM.com.
... non-VSAM ...
- ^ a b c "Generation data sets".
successive, historically related,
- ^ "VSE/VSAM Commands" (PDF).
- ^ "세대의 데이터 세트는 ...의 하나이다.
- ^ "What is a GDG?".
- ^ "IBM How to create and use Generation Data Groups (GDG)".
Create a GDG... IDCAMS will do it
- ^ "IDCAMS – Create and delete GDG base using JCL".
- 새로운 메인프레임 소개: z/OS Basics, 5장 "데이터 세트 작업", 2011년 3월 29일.ISBN 0738435341