Translate

quinta-feira, 11 de janeiro de 2007

Tipos de Dataset e Formatos de Dataset no Mainframe

 

Bellacosa Mainframe e os tipos e formatos de dataset em Mainframe

Tipos de Dataset e Formatos de Dataset no Mainframe

Quando alguém começa a estudar z/OS, rapidamente percebe que datasets possuem:

  • tipos;

  • formatos;

  • organizações;

  • atributos.

No começo parece complicado.

Mas entender isso é essencial para trabalhar com:

  • COBOL;

  • JCL;

  • ISPF;

  • batch;

  • armazenamento no mainframe.


O que é um Dataset?

Dataset é o nome usado no z/OS para representar:

arquivos.

Eles armazenam:

  • programas;

  • dados;

  • JCL;

  • relatórios;

  • parâmetros;

  • logs.


Diferença entre tipo e formato

Isso confunde muitos iniciantes.


Tipo de Dataset

Define:

como o dataset é organizado.

Exemplo:

  • PS;

  • PDS;

  • VSAM.


Formato de Dataset

Define:

como os registros são armazenados internamente.

Exemplo:

  • FB;

  • VB;

  • U.


Principais Tipos de Dataset


1. Sequential Dataset (PS)

Também chamado:

Physical Sequential

É o tipo mais simples.

Os dados são armazenados em sequência.


Analogia

Imagine:

uma fita de papel contínua.

Os registros ficam um após o outro.


Uso comum

  • relatórios;

  • arquivos batch;

  • entrada e saída de processamento;

  • logs.


Exemplo

USUARIO.RELATORIO

Características

  • simples;

  • rápido;

  • muito usado em batch.


2. PDS (Partitioned Data Set)

Muito importante no mundo mainframe.

Funciona como:

uma biblioteca com vários arquivos internos.


Os arquivos internos são chamados

membros


Exemplo

USUARIO.JCL(MYJOB)

Aqui:

  • dataset = USUARIO.JCL

  • membro = MYJOB


Uso comum

  • bibliotecas JCL;

  • programas COBOL;

  • PROC;

  • scripts.


Analogia

Imagine:

uma pasta com vários documentos dentro.


3. PDSE (Partitioned Data Set Extended)

Versão moderna do PDS.

Melhorias:

  • gerenciamento automático;

  • melhor performance;

  • menos desperdício;

  • mais estabilidade.


Hoje muitos ambientes preferem PDSE

Porque ele reduz problemas antigos do PDS clássico.


4. VSAM

VSAM significa:

Virtual Storage Access Method

É um dataset avançado.


Uso comum

  • sistemas bancários;

  • aplicações corporativas;

  • grandes bases de dados.


Características

  • acesso indexado;

  • alta performance;

  • grande capacidade.


Tipos VSAM


KSDS

Indexado.

Mais comum.


ESDS

Sequencial.


RRDS

Acesso relativo.


LDS

Linear.

Muito usado pelo DB2.


5. GDG

GDG significa:

Generation Data Group

Permite manter versões automáticas de datasets.


Exemplo

RELATORIO.GDG(+1)

Uso comum

  • backups;

  • histórico batch;

  • retenção de arquivos.


6. Temporary Dataset

Dataset temporário.

Existe apenas durante execução do JOB.


Exemplo

&&TEMP

Formatos de Dataset (RECFM)

Agora entra uma parte extremamente importante.

O atributo:

RECFM

Define:

Record Format

Ou seja:
como os registros são armazenados.


Principais formatos


FB — Fixed Block

Registros fixos

Todos possuem mesmo tamanho.


Exemplo

RECFM=FB
LRECL=80

Todos registros possuem:
80 bytes.


Muito usado em

  • JCL;

  • COBOL;

  • arquivos batch.


Analogia

Imagine:

folhas exatamente do mesmo tamanho.


VB — Variable Block

Registros variáveis

Cada linha pode possuir tamanho diferente.


Exemplo

RECFM=VB

Uso comum

  • relatórios;

  • textos;

  • arquivos variáveis.


Analogia

Linhas podem ser:

  • curtas;

  • médias;

  • longas.


U — Undefined

Formato indefinido.

Muito usado para:

  • programas load;

  • binários.


Exemplo

RECFM=U

F — Fixed

Registro fixo sem blocagem.


V — Variable

Registro variável sem blocagem.


O que é blocagem?

Blocos agrupam registros para:

  • melhorar performance;

  • reduzir I/O.


Outros atributos importantes


LRECL

Logical Record Length

Define tamanho lógico do registro.


Exemplo

LRECL=80

BLKSIZE

Block Size

Tamanho físico do bloco.


SPACE

Espaço alocado.


DSORG

Organização do dataset.


Exemplo completo

DSORG=PO
RECFM=FB
LRECL=80
BLKSIZE=800

O que significa?

  • PO = PDS

  • FB = registros fixos

  • 80 bytes por linha

  • bloco de 800 bytes


Como visualizar atributos?

No ISPF:

opção 3.4

Ou comando:

LISTDS 'USUARIO.JCL'

Como criar datasets?


Via ISPF 3.2

Mais comum para iniciantes.


Via JCL

Muito usado em batch.


Via TSO ALLOC

Comando interativo.


Exemplo

ALLOC DA('USUARIO.TESTE')
NEW SPACE(1,1)
RECFM(FB)
LRECL(80)

Erros comuns de iniciantes


1. Confundir PDS com PS

PDS possui membros.
PS não.


2. Ignorar RECFM

Isso pode causar ABENDs.


3. LRECL errado

Muito comum em COBOL e SORT.


4. Pensar que tudo funciona como Windows

O z/OS possui arquitetura própria.


Curiosidades incríveis

1. Muitos bancos possuem milhões de datasets

Organizados há décadas.


2. VSAM ainda é extremamente usado

Principalmente no setor financeiro.


3. O conceito de dataset é mais antigo que Linux

E continua extremamente eficiente.


4. PDS surgiu muito antes dos diretórios modernos


Como datasets aparecem no dia a dia?

Praticamente tudo usa datasets:

  • COBOL;

  • JCL;

  • DB2;

  • SORT;

  • backups;

  • spool;

  • parâmetros.


Por que aprender isso?

Porque datasets são:

a base do armazenamento no z/OS.

Quem entende datasets entende:

  • organização;

  • batch;

  • aplicações;

  • arquitetura mainframe.


Conclusão

Os tipos e formatos de dataset são um dos pilares do ambiente mainframe.

Eles definem:

  • como os dados são organizados;

  • armazenados;

  • processados;

  • acessados pelo z/OS.

Compreender PS, PDS, VSAM, RECFM e LRECL é um passo fundamental para qualquer estudante que deseja dominar o universo IBM Mainframe.


Sem comentários:

Enviar um comentário