☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta armazenamento de dados. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta armazenamento de dados. Mostrar todas as mensagens

quinta-feira, 5 de abril de 2018

Access Methods : Quando um Cadete da Frota Estelar Descobre que um Simples READ É Apenas a Ordem Dada à Ponte de Comando

 

Bellacosa Mainframe e o access methods no Mainframe

☕ Um Café no Bellacosa Mainframe

Access Methods sem Mistérios para Programadores COBOL

Quando um Cadete da Frota Estelar Descobre que um Simples READ É Apenas a Ordem Dada à Ponte de Comando — e que os Verdadeiros Heróis Estão Trabalhando Silenciosamente nas Entranhas da USS Enterprise

"Space... the final frontier."

Para um fã de Star Trek, essa frase representa muito mais do que o início de uma série. Ela simboliza exploração, engenharia, cooperação entre sistemas complexos e confiança em uma tripulação altamente especializada.

Curiosamente, o IBM Z compartilha exatamente essa filosofia.

Quando um capitão ordena:

"Helm, course 215 mark 7."

Ele não precisa explicar como os motores de dobra funcionam.

Não precisa dizer qual válvula deve abrir.

Não precisa calcular a quantidade de antimatéria.

Ele apenas informa o que deseja.

O restante é responsabilidade da tripulação.

No mainframe acontece exatamente a mesma coisa.

Quando um programa COBOL executa:

READ ARQ-CLIENTES

O programador pensa que está lendo um registro.

Na realidade...

Acabou de dar uma ordem para toda uma tripulação invisível composta pelo z/OS, Access Methods, IOS, Channel Subsystem, Storage Controller, buffers, cache, discos, controladoras e dezenas de mecanismos trabalhando em perfeita sincronia.

Hoje vamos embarcar nessa nave.

Prepare seu uniforme da Frota Estelar.

Nossa missão será explorar um dos conceitos mais importantes — e menos ensinados — do universo IBM Z.


Capitão Bellacosa, relatório de missão

O computador informa:

"Capitão, existe uma anomalia no Setor Alpha."

O jovem programador responde:

"Vou abrir o VSAM."

O Oficial de Engenharia interrompe.

"Negativo."

Primeiro precisamos entender uma pergunta muito mais importante.

Como os dados chegam até você?

Essa pergunta muda completamente a forma como enxergamos o mainframe.


O grande erro dos iniciantes

Quase todos aprendem COBOL desta forma:

Existe:

  • arquivo sequencial

  • VSAM

  • PDS

  • JCL

Depois aprendem:

OPEN INPUT CLIENTES

READ CLIENTES

WRITE CLIENTES

Fim.

Mas isso seria equivalente a ensinar Star Trek dizendo apenas:

"A Enterprise voa."

Sem explicar:

  • Warp Drive

  • Deflector

  • Holodeck

  • Computer Core

  • Transporter

  • EPS Grid

O verdadeiro funcionamento está escondido por trás dos comandos.

No IBM Z acontece exatamente isso.


O que é um Access Method?

Imagine a USS Enterprise.

O Capitão Picard diz:

"Computer, locate Commander Data."

O computador não responde:

"Capitão, qual setor?"

"Qual corredor?"

"Qual elevador?"

"Qual convés?"

Ele resolve tudo sozinho.

Esse computador é o equivalente ao Access Method.

Ele recebe pedidos simples.

Resolve problemas extremamente complexos.


A camada invisível

Todo iniciante imagina isto:

COBOL

↓

DISCO

Na realidade...

Existe um universo inteiro.

Programa COBOL

↓

Access Method

↓

IOS

↓

Channel Subsystem

↓

FICON

↓

Storage Controller

↓

Cache

↓

DASD

↓

Registro encontrado

É como se entre o Capitão e o motor de dobra existissem milhares de oficiais trabalhando silenciosamente.


O verdadeiro papel do Access Method

A definição oficial diz:

É a camada de software responsável por armazenar e recuperar registros.

Está correta.

Mas incompleta.

Na prática ele também:

  • controla buffers

  • organiza filas

  • reduz I/O

  • otimiza leitura

  • conversa com o z/OS

  • gerencia blocos

  • trata erros

  • melhora desempenho

  • simplifica programação

Ele é praticamente o Scotty do IBM Z.

Quando tudo funciona...

Ninguém percebe.

Quando algo quebra...

Todo mundo corre para a Engenharia.


Dataset Organization x Access Method

Esta talvez seja a maior dúvida dos novos tripulantes.

Imagine um enorme banco de dados da Federação.

A pergunta é:

Como ele está organizado?

Isso é Dataset Organization.

Agora imagine:

Como acessamos essas informações?

Isso é Access Method.

São perguntas diferentes.


Dataset Organization

Responde:

Como os dados vivem dentro do disco?

Exemplos:

Sequential

PDS

PDSE

KSDS

ESDS

RRDS

LDS


Access Method

Responde:

Como chegamos até esses dados?

Exemplos:

QSAM

BSAM

BPAM

BDAM

VSAM

Essa diferença parece pequena.

Mas entender isso muda completamente a visão sobre o mainframe.


A analogia do Holodeck

Imagine que o Holodeck possui milhares de cenários.

Roma Antiga.

Velho Oeste.

Paris.

Marte.

Esses cenários representam a organização dos dados.

Agora imagine os diferentes comandos para carregá-los.

Esse mecanismo corresponde ao Access Method.

O cenário não muda.

O modo de acessá-lo muda.


Primeira parada: QSAM

Queued Sequential Access Method.

Se existisse uma patente na Enterprise para o melhor oficial de logística, seria dele.


O que faz?

Gerencia automaticamente:

buffers

filas

pré-leitura

pré-gravação

cache

Tudo isso invisivelmente.

Seu programa apenas diz:

READ CLIENTES.

QSAM resolve o resto.


Como funciona?

Imagine o replicador.

Você pede:

"Café."

Enquanto toma a primeira xícara...

Outra já está sendo preparada.

Isso é pré-buffering.

Enquanto processa um registro...

QSAM já buscou o próximo.

Enquanto lê um bloco...

Outro bloco já está vindo.

Isso reduz drasticamente o tempo de espera.


Onde encontramos QSAM?

Relatórios

Batch

GDG

Logs

Arquivos texto

Interfaces

Conversões

Carga de dados

Quase todo batch COBOL usa QSAM.


Curiosidade

O nome "Queued" não está ali por acaso.

QSAM trabalha utilizando filas internas.

Os pedidos de leitura ficam organizados.

Isso aumenta muito o desempenho.


Segunda parada: BSAM

Basic Sequential Access Method.

Agora imagine que Scotty diz:

"Capitão, quer assumir manualmente o motor de dobra?"

Isso é BSAM.


QSAM faz quase tudo automaticamente.

BSAM entrega o volante para você.

Agora você controla:

buffers

blocos

leitura física

posicionamento

sincronização

É muito mais poderoso.

Mas exige conhecimento.


Por que usar BSAM?

Porque existem aplicações onde cada microssegundo importa.

Alguns utilitários IBM utilizam BSAM justamente por isso.


Dica Bellacosa

QSAM é piloto automático.

BSAM é pilotar uma nave Klingon manualmente.

Mais liberdade.

Mais responsabilidade.


Terceira parada: BPAM

Basic Partitioned Access Method.

Agora chegamos ao "Arquivo Central da Frota".

Imagine uma enorme biblioteca contendo:

programas

COPYBOOKS

JCL

Macros

Módulos

Cada um ocupa uma "gaveta".

Essas gavetas são os membros.


Quando fazemos:

COPY CLIENTE.

BPAM localiza rapidamente o membro CLIENTE.


Sem BPAM...

Localizar milhares de membros seria extremamente lento.


O mundo dos PDS e PDSE

PDS significa:

Partitioned Data Set.

PDSE:

Partitioned Data Set Extended.

Cada membro funciona como um pequeno arquivo.

BPAM nasceu exatamente para navegar por essa biblioteca.


Quarta parada: BDAM

Basic Direct Access Method.

Aqui encontramos um veterano da Frota.

Hoje raramente aparece.

Mas décadas atrás era indispensável.


Imagine que você conhece exatamente o compartimento da Enterprise onde está uma ferramenta.

Você não consulta ninguém.

Vai direto.

BDAM faz exatamente isso.

Ele acessa diretamente o bloco físico.


Exemplo

Em vez de pedir:

"Localize o registro."

Você informa:

Bloco físico 4578.

Extremamente rápido.

Extremamente perigoso.


Por que perigoso?

Porque você assume toda responsabilidade.

Se errar o bloco...

Pode sobrescrever dados importantes.

É como desligar manualmente o reator de dobra errado.


Quinta parada: VSAM

Agora chegamos ao carro-chefe da Federação.

VSAM.

Virtual Storage Access Method.

Não é apenas um método de acesso.

É praticamente um sistema inteiro.


VSAM administra:

índices

buffers

espaço livre

splits

Control Areas

Control Intervals

cache

recuperação

otimização

concorrência

É um verdadeiro computador dentro do computador.


KSDS

Key Sequenced Data Set.

O mais famoso.

Imagine o banco de dados da Frota.

Cada oficial possui um código.

Você informa:

SPOCK

VSAM encontra imediatamente.

Sem percorrer milhões de registros.


ESDS

Entry Sequenced Dataset.

Aqui a ordem é cronológica.

Cada registro entra no final.

Excelente para:

logs

históricos

eventos

telemetria


RRDS

Relative Record Dataset.

Cada registro possui uma posição fixa.

Registro 10.

Registro 25.

Registro 300.

Muito utilizado quando a posição importa.


LDS

Linear Data Set.

Aqui praticamente não existe conceito de registro.

É apenas uma sequência contínua de bytes.

Diversos produtos IBM utilizam LDS internamente.

Inclusive o Db2.


O segredo escondido do VSAM

Muitos programadores acreditam que VSAM apenas procura registros.

Na realidade ele faz muito mais.

Ele administra estruturas extremamente sofisticadas.

Entre elas:

Control Interval (CI)

É o equivalente a uma sala da Enterprise.

Dentro dela ficam vários registros.


Control Area (CA)

É um conjunto de salas.

Quando uma fica cheia...

VSAM reorganiza automaticamente.


Split

Imagine um corredor lotado.

VSAM cria outro corredor.

Redistribui tudo.

Continua funcionando.

Sem que o programa perceba.

Essa engenharia é brilhante.


O READ que parece simples

Quando escrevemos:

READ CLIENTE.

Nossa mente imagina:

Programa

↓

Registro

Na realidade...

COBOL

↓

VSAM

↓

Buffer Pool

↓

IOS

↓

Channel Program

↓

FICON

↓

Storage Controller

↓

Cache

↓

Disco

↓

Registro

↓

Retorno

Tudo isso acontece em frações de segundo.


Por que isso importa?

Porque desempenho não depende apenas do COBOL.

Depende de:

Access Method

Buffers

CI

CA

Blocos

Organização

Índices

Cache

Quantidade de I/O

Escolha correta do dataset

É por isso que dois programas aparentemente iguais podem ter desempenhos completamente diferentes.


Engenharia de I/O

No IBM Z existe uma filosofia fascinante.

CPU é preciosa.

I/O é ainda mais precioso.

Por isso tudo gira em torno de reduzir operações físicas.

QSAM faz buffering.

VSAM faz cache.

Storage Controller faz cache.

Hardware faz cache.

Até o disco possui cache.

O objetivo é simples:

Ler o mínimo possível.


Curiosidade histórica

Os primeiros Access Methods surgiram ainda no IBM System/360, em 1964.

Naquela época:

  • discos armazenavam poucos megabytes;

  • memória principal era medida em kilobytes;

  • um acesso físico ao disco era extremamente caro em termos de tempo.

Os engenheiros da IBM perceberam que seria inviável obrigar cada programador a controlar diretamente o hardware. A solução foi criar uma camada especializada que escondesse essa complexidade. Décadas depois, essa mesma ideia continua sustentando aplicações críticas em bancos, seguradoras, governos e companhias aéreas.


Easter Egg Bellacosa Nº 1

Na USS Enterprise existe um personagem quase invisível.

O Computador da Nave.

Ele resolve milhares de problemas sem aparecer.

Os Access Methods são exatamente isso.

Quase ninguém fala deles.

Mas sem eles...

Nada funciona.


Easter Egg Bellacosa Nº 2

Os Borg possuem uma frase famosa:

Resistance is Futile.

VSAM possui uma parecida.

Quando você escolhe corretamente:

KSDS

CI

Buffers

Free Space

Índices

A resistência do disco também se torna praticamente inútil.

Os dados chegam quase instantaneamente.


Easter Egg Bellacosa Nº 3

Scotty dizia:

"I'm giving her all she's got, Captain!"

Essa frase resume perfeitamente um Access Method durante um batch gigantesco.

Ele utiliza buffers, filas, cache, canais FICON e otimizações de I/O para entregar o máximo desempenho possível sem que o programa COBOL precise conhecer os detalhes.


Dicas para um Cadete da Frota IBM Z

✅ Nunca confunda organização do dataset com método de acesso.

✅ Aprenda primeiro QSAM e VSAM. Eles cobrem a maioria dos sistemas COBOL corporativos.

✅ Estude PDS/PDSE e BPAM para entender onde vivem programas, JCLs, COPYBOOKs e módulos de carga.

✅ Familiarize-se com conceitos como CI (Control Interval), CA (Control Area), RBA, buffers e splits antes de aprofundar-se em administração de VSAM.

✅ Sempre pergunte: qual é o padrão de acesso aos dados? Ler milhões de registros sequencialmente para encontrar um único cliente pode ser muito menos eficiente do que usar um índice KSDS.


A Diretiva Principal do IBM Z

Se Star Trek possui a Prime Directive, o universo do mainframe também possui uma regra implícita:

Nunca escolha um método de acesso apenas porque ele funciona. Escolha-o porque ele é o mais adequado para a organização do dataset, para o padrão de acesso da aplicação e para o volume de dados que será processado.

Essa decisão influencia desempenho, consumo de CPU, quantidade de I/O, escalabilidade e até a facilidade de manutenção da aplicação.


Conclusão: a Ponte de Comando do IBM Z

Depois desta viagem, fica claro que um simples READ em COBOL está muito longe de ser uma instrução trivial. É uma ordem enviada da "ponte de comando" do programa para uma tripulação altamente especializada composta por QSAM, BSAM, BPAM, BDAM, VSAM, IOS, Channel Subsystem, FICON, Storage Controllers e o próprio z/OS.

Cada componente executa sua missão com precisão quase militar, escondendo a complexidade do hardware e permitindo que o desenvolvedor concentre seus esforços na lógica de negócio.

Talvez essa seja a maior semelhança entre Star Trek e o IBM Z. Ambos representam sistemas construídos sobre a cooperação entre especialistas. O Capitão não precisa conhecer cada válvula do motor de dobra para conduzir a Enterprise, assim como um programador COBOL não precisa controlar manualmente cada bloco do disco para processar milhões de registros.

Mas os melhores capitães conhecem sua nave.

E os melhores programadores COBOL conhecem seus Access Methods.

Quando você entende essa camada invisível, deixa de apenas escrever programas e passa a compreender a engenharia que mantém bancos, bolsas de valores, companhias aéreas, sistemas de saúde e governos funcionando ininterruptamente há mais de seis décadas.

Como diria o Capitão Jean-Luc Picard ao encerrar mais uma missão bem-sucedida:

"Make it so."

No universo do IBM Z, quem transforma essa ordem em realidade são os Access Methods — os verdadeiros oficiais de engenharia da Frota Estelar do Mainframe.

domingo, 8 de abril de 2007

O que é VSAMDB NoSQL?

 

Bellacosa Mainframe apresenta vsamdb nosql

O que é VSAMDB NoSQL?

Quando alguém ouve a expressão NoSQL, normalmente pensa em bancos de dados modernos como MongoDB, Cassandra ou Redis.

Mas poucas pessoas sabem que o mundo mainframe também possui soluções NoSQL.

Uma delas é o:

VSAMDB

O VSAMDB é uma tecnologia que utiliza arquivos VSAM como base para criar um banco de dados do tipo Key-Value (Chave-Valor), oferecendo acesso extremamente rápido sem a necessidade de um banco de dados relacional como o Db2.


Definição simples

O VSAMDB é um banco de dados NoSQL desenvolvido para o ambiente IBM Mainframe, utilizando arquivos VSAM como mecanismo de armazenamento.

Seu objetivo é oferecer:

  • alta velocidade;

  • simplicidade;

  • grande escalabilidade;

  • acesso direto por chave.

Na prática, ele transforma arquivos VSAM em um banco de dados NoSQL.


Uma analogia simples

Imagine um enorme armário com milhares de gavetas.

Cada gaveta possui uma etiqueta.

CPF123456789

Dentro da gaveta existe uma informação.

Nome: João
Saldo: 2500
Cidade: Campinas

Para localizar os dados basta informar a etiqueta.

Não é necessário executar consultas SQL.

O VSAMDB funciona exatamente assim.


O que é NoSQL?

NoSQL significa:

Not Only SQL (Não Apenas SQL)

São bancos de dados que não utilizam necessariamente tabelas relacionais.

Existem vários modelos:

  • Key-Value

  • Documento

  • Colunar

  • Grafo

O VSAMDB pertence ao modelo:

Key-Value


O modelo Key-Value

O funcionamento é extremamente simples.

Existe uma chave.

Existe um valor.

Exemplo:

CPF123456789

↓

Nome=João
Cidade=São Paulo
Saldo=1500

Outro exemplo:

CLIENTE0001

↓

JSON

Cada chave aponta para um conteúdo.


Como funciona?

Internamente o VSAMDB utiliza:

  • VSAM KSDS;

  • índices;

  • acesso direto;

  • estruturas otimizadas.

Quando o programa solicita:

CLIENTE0001

O VSAMDB encontra rapidamente o valor correspondente.


Estrutura simplificada

Chave
↓

1001

↓

{
 Nome:"Maria",
 Cidade:"Rio",
 Limite:8000
}

Outro registro:

1002

↓

{
 Nome:"Carlos",
 Cidade:"Curitiba",
 Limite:12000
}

Por que utilizar VSAMDB?

Porque muitos sistemas não precisam:

  • JOIN;

  • SQL complexo;

  • relacionamentos.

Eles apenas precisam recuperar informações rapidamente.


Vantagens

Muito rápido

O acesso ocorre diretamente pela chave.


Simples

Sem necessidade de SQL.


Excelente desempenho

Ideal para milhões de consultas.


Aproveita VSAM

Utiliza toda a robustez do armazenamento do z/OS.


Como os dados são armazenados?

Normalmente cada registro possui:

CHAVE

↓

VALOR

O valor pode conter:

  • texto;

  • JSON;

  • XML;

  • dados binários;

  • documentos.


Exemplo simples

CHAVE

CLIENTE100

Valor:

{
 "Nome":"João",
 "Cidade":"Campinas",
 "Saldo":3500
}

O programa solicita:

GET CLIENTE100

O VSAMDB devolve todo o documento.


Operações básicas

Assim como outros bancos NoSQL, normalmente existem operações como:

PUT

Gravar.


GET

Consultar.


UPDATE

Atualizar.


DELETE

Excluir.


Onde ele é utilizado?

Principalmente em:

  • APIs;

  • microsserviços;

  • aplicações Java;

  • aplicações COBOL;

  • sistemas de alta performance;

  • cache corporativo;

  • consultas rápidas.


VSAMDB x Db2

VSAMDBDb2
NoSQLRelacional
Key-ValueTabelas
Sem SQL obrigatórioSQL
Muito rápidoMuito flexível
Sem JOINJOIN disponível

VSAMDB x MongoDB

VSAMDBMongoDB
MainframeMultiplataforma
VSAMDocumentos
IBM ZLinux, Windows, Cloud
Alta integração com z/OSEcossistema web

VSAMDB x KSDS

KSDSVSAMDB
ArquivoBanco NoSQL
Dados estruturadosChave-Valor
Programador controla acessoAPI simplificada
VSAM puroCamada sobre VSAM

Quem utiliza?

  • bancos;

  • seguradoras;

  • telecomunicações;

  • governo;

  • grandes empresas.

Principalmente quando existem milhões de consultas rápidas.


Curiosidades incríveis

1. O VSAMDB aproveita toda a confiabilidade do VSAM

Ele utiliza uma tecnologia presente no z/OS há décadas.


2. É possível armazenar documentos

O valor associado à chave pode conter estruturas como JSON.


3. É ideal para APIs modernas

Aplicações REST podem consultar dados rapidamente sem necessidade de SQL complexo.


4. Une o mundo tradicional ao moderno

O VSAMDB permite que aplicações desenvolvidas para o IBM Z adotem conceitos de NoSQL, preservando a robustez e a disponibilidade do ambiente mainframe.


Erros comuns de iniciantes

"VSAMDB substitui o Db2"

Não.

Cada tecnologia possui objetivos diferentes.


"NoSQL significa sem estrutura"

Não.

Significa apenas que o banco não depende exclusivamente do modelo relacional.


"VSAMDB é apenas um arquivo VSAM"

Também não.

Ele utiliza o VSAM como mecanismo de armazenamento, mas adiciona uma camada de gerenciamento típica de bancos NoSQL.


Quando escolher VSAMDB?

O VSAMDB é uma boa opção quando a aplicação precisa:

  • consultar dados rapidamente por chave;

  • armazenar documentos ou objetos;

  • suportar grande volume de acessos;

  • reduzir a complexidade de consultas SQL;

  • integrar aplicações modernas ao ambiente IBM Z.

Já para sistemas que exigem consultas complexas, relacionamentos entre tabelas, transações SQL sofisticadas e análises relacionais, o Db2 para z/OS continua sendo a solução mais indicada.


Conclusão

O VSAMDB NoSQL representa uma evolução interessante do armazenamento no ambiente IBM Mainframe.

Ao combinar a confiabilidade e o desempenho do VSAM com o modelo Key-Value dos bancos NoSQL, ele oferece uma solução extremamente rápida para aplicações modernas que precisam recuperar informações diretamente pela chave.

Para profissionais que desejam compreender a modernização do IBM Z, conhecer o VSAMDB é importante, pois ele demonstra como tecnologias clássicas do mainframe podem ser adaptadas para arquiteturas modernas baseadas em APIs, microsserviços e computação em nuvem.


quinta-feira, 5 de abril de 2007

O que é VSAM KSDS?

 

Bellacosa Mainframe apresenta vsam ksds

O que é VSAM KSDS?

Quando estudamos VSAM (Virtual Storage Access Method), descobrimos que ele possui diferentes tipos de arquivos, cada um criado para atender necessidades específicas.

O tipo mais utilizado em aplicações COBOL, bancos, seguradoras e sistemas corporativos é o:

KSDS (Key Sequenced Data Set)

Ele é considerado o "banco de dados" clássico do mundo VSAM, pois permite localizar registros rapidamente por meio de uma chave.


Definição simples

O KSDS é um tipo de arquivo VSAM que armazena registros ordenados por uma chave primária.

Sempre que um novo registro é inserido, o sistema o posiciona automaticamente na ordem correta da chave.

Além disso, o KSDS mantém um índice interno que permite localizar registros rapidamente.


Uma analogia simples

Imagine uma lista telefônica organizada por sobrenome.

Se você procura:

Silva

Não precisa ler todas as páginas.

Basta ir diretamente à letra S.

O KSDS funciona exatamente assim.

Ele usa um índice para localizar rapidamente qualquer registro.


O que significa KSDS?

KSDS significa:

Key Sequenced Data Set

Em português:

Conjunto de Dados Sequenciado por Chave.

O nome já explica seu funcionamento:

Os registros permanecem organizados pela chave.


Como funciona?

Imagine um cadastro de clientes.

Cada cliente possui um código.

3005 João

1001 Maria

2007 Carlos

5002 Ana

Mesmo que sejam gravados nessa ordem, o KSDS reorganiza automaticamente.

O resultado será:

1001 Maria

2007 Carlos

3005 João

5002 Ana

A ordem física segue a chave.


O que é a Chave?

A chave é o campo utilizado para identificar cada registro.

Exemplo:

Código do Cliente
CPF
Número da Conta
Número da Apólice

Cada registro possui uma chave única.


O Índice

A maior vantagem do KSDS é possuir um índice.

Esse índice informa onde cada registro está localizado.

Imagine um índice de um livro.

Conta 1001 → Página 10

Conta 1002 → Página 15

Conta 1003 → Página 20

O KSDS faz algo semelhante.

Assim o sistema encontra rapidamente qualquer registro.


Como localizar um registro?

O programa informa apenas a chave.

Exemplo:

Conta 3005

O VSAM consulta o índice.

Depois acessa diretamente o registro.

Não é necessário ler o arquivo inteiro.


Estrutura simplificada

ÍNDICE

1001 → Registro A

2007 → Registro B

3005 → Registro C

5002 → Registro D

ARQUIVO

Registro A

Registro B

Registro C

Registro D

Inserção de novos registros

Imagine o arquivo:

1001

2007

3005

5002

Chega um novo cliente:

2500

O VSAM insere automaticamente.

Resultado:

1001

2007

2500

3005

5002

Tudo permanece ordenado.


Atualização

O KSDS permite alterar registros.

Basta localizar pela chave.

Exemplo:

READ CLIENTE KEY 3005

UPDATE

Exclusão

Também pode excluir registros pela chave.

O índice será atualizado automaticamente.


Como criar um KSDS?

Normalmente usando IDCAMS.

Exemplo simplificado:

//DEFINE EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
 DEFINE CLUSTER (
   NAME(BELLA.CLIENTES.KSDS)
   INDEXED
   KEYS(10 0)
   RECORDSIZE(100 100)
   TRACKS(10 5)
 )
 DEFINE INDEX (
   NAME(BELLA.CLIENTES.KSDS.INDEX)
 )
/*

Observe:

INDEXED

E:

KEYS(10 0)

Esses parâmetros definem o tamanho e a posição da chave.


Como acessar em COBOL?

Exemplo:

SELECT CLIENTES
ASSIGN TO VSAMFILE
ORGANIZATION IS INDEXED
ACCESS MODE IS DYNAMIC
RECORD KEY IS CODIGO-CLIENTE.

Leitura:

READ CLIENTES
INVALID KEY
   DISPLAY "CLIENTE NÃO ENCONTRADO"
END-READ.

Quando utilizar KSDS?

Sempre que houver necessidade de:

  • pesquisar registros rapidamente;

  • atualizar informações;

  • excluir registros;

  • consultar dados por chave.

É o tipo mais utilizado em sistemas transacionais.


Exemplos de uso

  • cadastro de clientes;

  • contas bancárias;

  • apólices de seguro;

  • cadastro de produtos;

  • cadastro de funcionários;

  • sistemas CICS;

  • aplicações COBOL.


Vantagens

Pesquisa rápida

Graças ao índice.


Atualização eficiente

Permite alterar registros diretamente.


Exclusão simples

Tudo pela chave.


Muito utilizado

É o padrão de mercado para arquivos VSAM.


Desvantagens

Inserção mais complexa

Pode haver reorganização do arquivo.


Índice ocupa espaço

Existe overhead adicional.


Administração

Pode exigir reorganizações periódicas.


KSDS x ESDS

KSDSESDS
Possui chaveNão possui chave
Possui índiceNão possui índice
Pesquisa rápidaLeitura sequencial
Ordenado pela chaveOrdem de entrada
Ideal para consultasIdeal para logs

KSDS x RRDS

KSDSRRDS
Pesquisa por chavePesquisa por número relativo
Ordem pela chaveOrdem pela posição
ÍndiceSem índice tradicional

Curiosidades incríveis

1. É o tipo VSAM mais utilizado

Grande parte das aplicações COBOL usa KSDS.


2. O índice é mantido automaticamente

O programador não precisa gerenciá-lo manualmente.


3. CICS utiliza intensamente KSDS

Grande parte das transações online trabalha com esse formato.


4. Um KSDS pode armazenar milhões de registros

Mantendo acesso rápido por meio do índice.


Erros comuns de iniciantes

"KSDS funciona como ESDS"

Não.

O ESDS grava registros na ordem de entrada.

O KSDS organiza tudo pela chave.


"Preciso ler todo o arquivo"

Não.

O índice permite acesso direto.


"Posso ter duas chaves iguais"

Normalmente não.

A chave primária deve ser única.


Quando escolher KSDS?

Escolha KSDS quando sua aplicação precisar:

  • pesquisar registros rapidamente;

  • atualizar informações com frequência;

  • excluir registros;

  • acessar dados por código, CPF, conta ou outro identificador único.


Conclusão

O VSAM KSDS é o tipo de arquivo mais utilizado no ambiente mainframe para armazenar dados organizados por chave.

Graças ao seu índice interno, ele oferece acesso rápido, atualização eficiente e excelente desempenho em aplicações transacionais.

Por essas características, o KSDS tornou-se a base de inúmeros sistemas COBOL executados em bancos, seguradoras, órgãos públicos e grandes empresas, sendo um dos conceitos mais importantes para quem deseja dominar o armazenamento de dados no IBM Mainframe.


quarta-feira, 4 de abril de 2007

O que é VSAM ESDS?

 

Bellacosa Mainframe apresenta vsam esds

O que é VSAM ESDS?

Quando alguém começa a estudar armazenamento de dados no mainframe, logo descobre que existe uma tecnologia chamada VSAM (Virtual Storage Access Method).

Dentro do VSAM existem 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 ESDS, um dos formatos mais simples e eficientes do VSAM.


Definição simples

O ESDS (Entry Sequenced Data Set) é um tipo de arquivo VSAM onde os registros são gravados exatamente na ordem em que chegam.

Não existe chave primária.

Não existe ordenação.

Não existe índice.

Cada novo registro é simplesmente adicionado ao final do arquivo.


Uma analogia simples

Imagine um caderno.

Você começa a escrever na primeira página.

Depois escreve na segunda.

Depois na terceira.

Você nunca reorganiza as páginas.

Você apenas continua escrevendo.

O ESDS funciona exatamente assim.


O que significa ESDS?

ESDS significa:

Entry Sequenced Data Set

Em português:

Conjunto de Dados Sequencial por Entrada.

O nome explica seu funcionamento:

Os registros permanecem na mesma sequência em que foram inseridos.


Como funciona?

Imagine que um sistema grave os seguintes clientes.

João
Maria
Carlos
Ana
Pedro

O ESDS armazenará exatamente nesta ordem.

Registro 1 → João
Registro 2 → Maria
Registro 3 → Carlos
Registro 4 → Ana
Registro 5 → Pedro

Se um novo cliente chegar:

José

Ele será colocado no final.

Registro 6 → José

Nada será reorganizado.


Não existe chave

Essa é uma característica muito importante.

Diferente do KSDS:

12345
23456
34567

No ESDS não existe:

  • chave;

  • índice;

  • pesquisa direta por chave.

Os registros são apenas armazenados em sequência.


Como localizar um registro?

Existem duas formas principais.

1. Leitura Sequencial

O programa lê:

Registro 1

↓

Registro 2

↓

Registro 3

↓

Registro 4

Até encontrar o registro desejado.


2. RBA

O ESDS possui um identificador chamado:

RBA

Relative Byte Address

O RBA indica a posição física do registro dentro do arquivo.

Exemplo:

João   → RBA 00000000

Maria  → RBA 00000080

Carlos → RBA 00000160

Se o programa conhece o RBA, pode acessar diretamente aquele registro.


Como os registros são gravados?

Sempre no final.

Exemplo:

ANTES

A
B
C
D

Após inserir "E":

A
B
C
D
E

Nunca ocorre reorganização automática.


Como excluir um registro?

O ESDS não remove fisicamente o registro.

Normalmente o sistema:

  • marca como excluído;

  • reutiliza posteriormente;

  • reorganiza o arquivo através de utilitários.


Como alterar um registro?

Pode ser atualizado.

Porém seu tamanho normalmente não deve ultrapassar o espaço disponível.

Caso contrário pode ser necessário reorganizar o arquivo.


Estrutura do ESDS

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

Registro 1

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

Registro 2

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

Registro 3

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

Registro 4

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

Registro 5

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

Tudo em sequência.


Quando utilizar ESDS?

O ESDS é indicado quando:

  • a ordem de chegada é importante;

  • haverá muitas gravações;

  • pouca pesquisa por chave;

  • leitura predominantemente sequencial.


Exemplos de uso

  • logs de aplicações;

  • trilhas de auditoria;

  • históricos;

  • arquivos temporários;

  • captura de eventos;

  • processamento batch.


Como criar um ESDS?

Normalmente utilizando IDCAMS.

Exemplo simplificado:

//DEFINE EXEC PGM=IDCAMS

//SYSPRINT DD SYSOUT=*

//SYSIN DD *

 DEFINE CLUSTER (

 NAME(BELLA.CLIENTES.ESDS)

 INDEXED

 NONINDEXED

 RECORDSIZE(80 80)

 TRACKS(5 2)

 )

 /*

Observe que o ESDS é definido como:

NONINDEXED

Ou seja:

sem índice.


Como acessar em COBOL?

Utilizando VSAM.

Exemplo:

SELECT CLIENTES
ASSIGN TO VSAMFILE
ORGANIZATION IS SEQUENTIAL
ACCESS MODE IS SEQUENTIAL.

Depois:

READ CLIENTES

Lendo registro por registro.


Vantagens

Simplicidade

Não possui índice.


Inserção rápida

Sempre grava no final.


Boa performance

Excelente para grandes cargas sequenciais.


Menor overhead

Menos estruturas de controle.


Desvantagens

Pesquisa lenta

Sem chave.


Pouca flexibilidade

Não é ideal para consultas frequentes.


Exclusões

Podem exigir reorganização periódica.


ESDS x KSDS

ESDSKSDS
Sem chavePossui chave
Sem índiceÍndice automático
Ordem de entradaOrdem pela chave
Inserção rápidaInserção mais complexa
Leitura sequencialPesquisa rápida por chave

Curiosidades incríveis

1. O ESDS é um dos tipos mais antigos do VSAM

Ele existe desde a introdução do VSAM na década de 1970.


2. O RBA é fundamental

Muitos sistemas utilizam o Relative Byte Address para localizar registros rapidamente.


3. O ESDS é excelente para auditoria

Como preserva a ordem de gravação, é ideal para armazenar históricos e trilhas de eventos.


4. Muitos sistemas batch utilizam ESDS

Principalmente quando os dados são processados em sequência.


Erros comuns de iniciantes

"ESDS possui chave"

Não.

Ele não utiliza chave primária.


"É igual KSDS"

Não.

KSDS possui índice e pesquisa por chave.

ESDS trabalha com sequência de entrada.


"Posso pesquisar rapidamente qualquer registro"

Somente se conhecer o RBA.

Caso contrário, normalmente é necessária uma leitura sequencial.


Quando escolher ESDS?

Escolha ESDS quando:

  • a ordem cronológica dos registros for importante;

  • a aplicação gravar muitos dados continuamente;

  • as consultas forem predominantemente sequenciais;

  • não houver necessidade de acesso frequente por chave.


Conclusão

O VSAM ESDS é um tipo de arquivo que armazena registros exatamente na ordem em que são inseridos, sem utilizar índices ou chaves.

Sua simplicidade proporciona excelente desempenho para gravações sequenciais, tornando-o uma escolha ideal para logs, auditorias, históricos e aplicações batch.

Embora não seja a melhor opção para pesquisas rápidas, o ESDS continua sendo uma peça importante da arquitetura VSAM e um conceito fundamental para quem deseja dominar o armazenamento de dados no ambiente IBM Mainframe.


segunda-feira, 2 de abril de 2007

O que é Fita Perfurada em Mainframe?

 

Bellacosa Mainframe apresenta a fita perfurada no mainframe

O que é Fita Perfurada em Mainframe?

Muito antes dos discos rígidos, SSDs e até mesmo dos cartões perfurados se popularizarem nos computadores, outra tecnologia foi utilizada para armazenar programas e dados:

A Fita Perfurada (Paper Tape)

Ela foi uma das primeiras mídias de entrada de dados da história da computação e da automação industrial.

Embora tenha sido pouco utilizada nos grandes mainframes IBM em comparação com os cartões perfurados, a fita perfurada teve um papel importante na evolução da informática.


Definição simples

A fita perfurada era uma longa tira de papel onde informações eram representadas por furos.

Cada conjunto de furos correspondia a:

  • letras;

  • números;

  • símbolos;

  • comandos;

  • instruções de programas.

Assim como o cartão perfurado, os furos eram lidos por máquinas especiais.


Uma analogia simples

Imagine um rolo de papel de calculadora.

Agora imagine que, em vez de tinta, ele possui pequenos furos.

Cada conjunto de furos representa uma informação.

A máquina "lê" esses furos e interpreta os dados.


Origem da fita perfurada

A fita perfurada surgiu muito antes dos computadores modernos.

Ela começou a ser utilizada no século XIX em equipamentos como:

  • telégrafos;

  • teletipos;

  • sistemas ferroviários;

  • equipamentos industriais.

Mais tarde foi adaptada para computadores.


Como ela funcionava?

Cada posição da fita podia conter furos em diferentes colunas.

Esses furos representavam códigos binários.

Exemplo simplificado:

● ○ ● ○ ○ ● ○ ○

Cada combinação representava um caractere.


O padrão de 8 canais

O modelo mais conhecido utilizava:

8 trilhas (8 canais)

Cada coluna correspondia a um byte.

Existiam também fitas de:

  • 5 canais;

  • 6 canais;

  • 7 canais;

  • 8 canais.

Dependendo da aplicação.


Como os programas eram gravados?

O processo era semelhante ao dos cartões.

1. Digitação

O operador utilizava um perfurador.


2. Perfuração

A máquina fazia os furos na fita.


3. Leitura

Um leitor óptico ou mecânico interpretava os furos.


4. Execução

O computador recebia as informações.


Como era uma fita perfurada?

Visualmente parecia uma longa faixa de papel.

========================================

○ ● ○ ○ ● ○ ● ○ ○ ● ○

========================================

Ela podia ter:

  • poucos centímetros;

  • dezenas de metros.

Dependendo do programa.


Equipamentos utilizados

Paper Tape Punch

Máquina responsável por perfurar a fita.

Era equivalente ao Keypunch dos cartões.


Paper Tape Reader

Equipamento responsável por ler a fita.

Os sensores identificavam os furos e enviavam os dados ao computador.


Vantagens da fita perfurada

Contínua

Não havia limite de 80 colunas como nos cartões.


Baixo custo

Era barata de fabricar.


Fácil transporte

Ocupava menos espaço que milhares de cartões.


Simples

Tecnologia relativamente barata para a época.


Desvantagens

Muito frágil

O papel rasgava facilmente.


Difícil correção

Um erro normalmente exigia refazer parte da fita.


Desgaste

Após muitas leituras podia sofrer danos.


Baixa capacidade

Armazenava poucos dados comparada às tecnologias posteriores.


A fita perfurada foi usada em Mainframes IBM?

Sim, mas com uma ressalva importante.

Nos grandes mainframes IBM, especialmente a partir da linha System/360, a mídia dominante passou a ser o cartão perfurado de 80 colunas.

A fita perfurada foi mais comum em:

  • computadores científicos;

  • minicomputadores;

  • equipamentos industriais;

  • CNC;

  • laboratórios;

  • teleprocessamento;

  • sistemas militares.

Nos mainframes IBM ela existiu principalmente nos primeiros anos da computação, mas acabou sendo rapidamente substituída pelos cartões perfurados, que eram mais robustos e mais adequados ao processamento em lote (batch).


Fita perfurada x Cartão perfurado

Fita PerfuradaCartão Perfurado
Papel contínuoCartões individuais
Comprimento variável80 colunas por cartão
Mais compactaMais organizada
Mais frágilMais resistente
Muito usada em teleimpressoresMuito usada em mainframes IBM

Curiosidades incríveis

1. A fita perfurada nasceu antes dos computadores

Ela já era utilizada em sistemas telegráficos no século XIX.


2. Máquinas CNC utilizaram fitas perfuradas por muitos anos

Antes dos pendrives e redes industriais.


3. Muitos computadores das décadas de 1950 e 1960 aceitavam tanto cartões quanto fitas perfuradas

Dependendo do fabricante e da aplicação.


4. Hoje elas são peças de museu

Fitas perfuradas podem ser encontradas em museus de computação e engenharia.


Erros comuns de iniciantes

"Fita perfurada é a mesma coisa que fita magnética"

Não.

A fita perfurada é feita de papel com furos.

A fita magnética utiliza material magnético para gravar dados.


"Mainframes IBM usavam somente fita perfurada"

Não.

Os cartões perfurados tornaram-se a principal mídia de entrada de programas nos grandes mainframes IBM.


"Ela armazenava grandes quantidades de dados"

Sua capacidade era bastante limitada quando comparada às fitas magnéticas que surgiram depois.


Evolução das mídias de entrada de dados

Fita Perfurada
        ↓
Cartão Perfurado
        ↓
Fita Magnética (Reel)
        ↓
Cartridge
        ↓
Tape Library
        ↓
Storage em Disco
        ↓
Flash Storage
        ↓
Cloud Storage

Por que aprender sobre fita perfurada?

Mesmo sendo uma tecnologia histórica, ela ajuda a entender:

  • como surgiram os primeiros computadores;

  • a evolução das mídias de armazenamento e entrada de dados;

  • por que os cartões perfurados dominaram os mainframes IBM;

  • a origem do processamento batch e da automação industrial.


Conclusão

A fita perfurada foi uma das primeiras mídias utilizadas para inserir programas e dados em computadores e sistemas automatizados.

Embora tenha sido ofuscada pelos cartões perfurados no universo dos grandes mainframes IBM, ela desempenhou um papel fundamental na história da computação. Sua simplicidade abriu caminho para tecnologias mais robustas, como as fitas magnéticas, os cartridges e as modernas Tape Libraries, mostrando como a evolução do armazenamento sempre buscou mais capacidade, confiabilidade e eficiência.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...