Translate

sexta-feira, 6 de abril de 2007

O que é VSAM RRDS?

 

Bellacosa Mainframe apresenta vsam rrds

O que é VSAM RRDS?

Ao estudar VSAM (Virtual Storage Access Method), encontramos quatro tipos principais de arquivos:

  • KSDS (Key Sequenced Data Set)

  • ESDS (Entry Sequenced Data Set)

  • RRDS (Relative Record Data Set)

  • LDS (Linear Data Set)

Neste artigo vamos conhecer o RRDS, um tipo de arquivo criado para situações em que cada registro ocupa uma posição fixa dentro do arquivo.

Em vez de localizar um registro por uma chave, como acontece no KSDS, o RRDS utiliza um número de posição.


Definição simples

O RRDS (Relative Record Data Set) é um tipo de arquivo VSAM onde cada registro é identificado pelo seu número relativo (RRN - Relative Record Number).

Cada posição possui um número fixo:

  • Registro 1

  • Registro 2

  • Registro 3

  • Registro 4

Assim, o programa acessa diretamente a posição desejada.


Uma analogia simples

Imagine um prédio de apartamentos.

Cada apartamento possui um número.

Se você deseja visitar o apartamento 205, basta informar esse número.

Não precisa procurar pelo nome do morador.

O RRDS funciona da mesma forma.

O sistema acessa o registro pela posição.


O que significa RRDS?

RRDS significa:

Relative Record Data Set

Em português:

Conjunto de Dados por Registro Relativo.

Cada registro é identificado pelo seu número relativo.


Como funciona?

Imagine um arquivo com cinco posições.

Registro 1 → João

Registro 2 → Maria

Registro 3 → Carlos

Registro 4 → Ana

Registro 5 → Pedro

O programa pode solicitar:

READ REGISTRO 4

Resultado:

Ana

O acesso é imediato.


O que é RRN?

RRN significa:

Relative Record Number

É o número da posição do registro.

Exemplo:

RRN 1

RRN 2

RRN 3

RRN 4

RRN 5

Cada posição é única.


Estrutura do RRDS

+----------------------+

RRN 1

+----------------------+

RRN 2

+----------------------+

RRN 3

+----------------------+

RRN 4

+----------------------+

RRN 5

+----------------------+

Cada posição possui espaço reservado.


Como os registros são gravados?

Suponha que exista um arquivo com dez posições.

Inicialmente:

1

2

3

4

5

6

7

8

9

10

O programa grava um cliente no RRN 4.

Depois outro no RRN 8.

As demais posições continuam disponíveis.


Inserção

No RRDS o programa escolhe a posição.

Exemplo:

RRN 15

O registro será gravado exatamente nessa posição.


Atualização

Também é muito simples.

Exemplo:

Atualizar

RRN 10

O sistema altera apenas aquele registro.


Exclusão

Quando um registro é removido, sua posição permanece existindo.

Ela apenas fica disponível para reutilização.

Exemplo:

Antes:

RRN 5 → Pedro

Depois:

RRN 5 → Vazio

Mais tarde outro registro poderá ocupar essa posição.


Como criar um RRDS?

Utilizando IDCAMS.

Exemplo simplificado:

//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
 DEFINE CLUSTER (
   NAME(BELLA.CLIENTES.RRDS)
   NUMBERED
   RECORDSIZE(100 100)
   TRACKS(5 2)
 )
 /*

Observe:

NUMBERED

Esse parâmetro identifica um RRDS.


Como acessar em COBOL?

Exemplo:

SELECT CLIENTES
ASSIGN TO VSAMFILE
ORGANIZATION IS RELATIVE
ACCESS MODE IS RANDOM
RELATIVE KEY IS NUMERO-REGISTRO.

Leitura:

READ CLIENTES

O COBOL utiliza o número relativo informado.


Quando utilizar RRDS?

O RRDS é recomendado quando:

  • cada posição possui significado próprio;

  • o acesso é feito pelo número do registro;

  • os registros têm tamanho fixo;

  • há necessidade de acesso direto por posição.


Exemplos de uso

  • controle de vagas;

  • mapa de assentos;

  • posições de estoque;

  • tabelas de configuração;

  • controle de portas e equipamentos;

  • sistemas industriais.


Vantagens

Acesso extremamente rápido

O sistema vai diretamente à posição desejada.


Atualizações simples

Basta informar o número relativo.


Estrutura previsível

Cada registro possui posição fixa.


Excelente para tabelas

Ideal quando cada posição representa um item específico.


Desvantagens

Pode desperdiçar espaço

Posições vazias continuam ocupando área lógica.


Menor flexibilidade

Não é indicado para grandes cadastros.


Sem pesquisa por chave

É necessário conhecer o número relativo.


RRDS x KSDS

RRDSKSDS
Número relativoChave primária
Sem índice tradicionalPossui índice
Posição fixaOrdem pela chave
Excelente para tabelasExcelente para cadastros

RRDS x ESDS

RRDSESDS
Número relativoOrdem de entrada
Acesso diretoLeitura sequencial
Posição fixaInserção no final

Curiosidades incríveis

1. O RRDS reserva espaço para cada posição

Mesmo antes de todos os registros existirem.


2. O acesso é muito rápido

Porque não depende de pesquisas sequenciais.


3. Muitos sistemas industriais utilizam RRDS

Principalmente quando existem posições físicas bem definidas.


4. O COBOL oferece suporte nativo ao RRDS

A linguagem possui recursos específicos para trabalhar com arquivos relativos.


Erros comuns de iniciantes

"RRDS utiliza chave"

Não.

Ele utiliza o RRN (Relative Record Number).


"É igual KSDS"

Não.

O KSDS pesquisa pela chave.

O RRDS acessa pela posição.


"Posso localizar um registro pelo CPF"

Não diretamente.

É necessário conhecer o número relativo onde o registro está armazenado.


Quando escolher RRDS?

Escolha RRDS quando:

  • cada registro possuir uma posição fixa;

  • o número da posição for conhecido;

  • houver necessidade de acesso direto extremamente rápido;

  • a aplicação trabalhar com tabelas, mapas ou posições numeradas.


Conclusão

O VSAM RRDS é um tipo de arquivo que organiza os registros por número relativo (RRN), permitindo acesso direto e extremamente rápido a qualquer posição do arquivo.

Sua estrutura simples e previsível o torna ideal para aplicações que trabalham com posições fixas, como mapas de assentos, tabelas de configuração, controle de equipamentos e sistemas industriais.

Embora seja menos utilizado do que o KSDS em aplicações corporativas tradicionais, o RRDS continua sendo um importante componente da família VSAM e um conceito essencial para quem deseja dominar o armazenamento de dados no ambiente IBM Mainframe.


Sem comentários:

Enviar um comentário