Os mainframes são diferentes. Eles são os sistemas maiores, mais rápidos e mais capazes do planeta e ainda executam muitas, se não a maioria, das aplicações mais importantes do mundo comercial.
Uma das razões pelas quais os mainframes continuam dominantes? Sua longa história de lidar eficazmente com dados de negócios.
Em ambientes de processamento de dados empresariais de grande escala, um requisito comum é a necessidade de lidar com muitos conjuntos diferentes e sucessivos do mesmo tipo de dados. Os arquivos diários levam a arquivos semanais, que depois se acumulam em arquivos mensais e anuais, todos os quais devem ser facilmente acessíveis individualmente ou em grupo, na ordem desejada.
Desde os primórdios dos mainframes, o Era Information Group (GDG) tem sido o meio de gerenciar essas ocorrências sucessivas (ou ‘gerações’) dos mesmos dados. Simplesmente usando o nome do conjunto de dados, os aplicativos podem selecionar uma geração atual ou anterior, criar novas gerações ou usar toda a coleção de conjuntos de dados (uma solicitação ‘GDG-all’).
Esse método poderoso, porém simples, de gerenciamento de dados é exclusivo do z/OS.
Como criar um GDG de mainframe
Antes que os conjuntos de dados individuais que compõem um GDG possam ser criados, uma entrada ‘base’ do GDG é criada no catálogo pelo IDCAMS. Uma vez criada a base GDG, podem ser criados conjuntos de dados de geração individuais (GDSs), que normalmente são conjuntos de dados sequenciais comuns.
Uma instrução DEFINE, como a abaixo, realiza algumas coisas diferentes:
- Cria a entrada base do GDG
- Outline o número de gerações para acompanhar
- Especifica o que fazer quando o número máximo de conjuntos de dados de geração for atingido
DEFINE GDG(NOME(MY.BUSINESS.DATA)) LIMIT(255) NOEMPTY SCRATCH
No exemplo acima, cada conjunto de dados de geração particular person (GDS) é catalogado à medida que é criado e um máximo de 255 gerações (o valor LIMIT) são retidas na entrada do catálogo base GDG.
Depois que 255 conjuntos de dados forem criados, a entrada base do GDG estará “cheia” e a geração mais antiga deverá “sair” do GDG e será excluída (SCRATCH). Opcionalmente, se EMPTY for especificado em vez de NOEMPTY, todos gerações (não apenas as mais recentes) desaparecerão quando o GDG estiver cheio.
Os conjuntos de dados de geração pertencentes ao GDG acima possuem nomes de conjuntos de dados no formato MEU.DADOS.DE.NEGÓCIO.G0001V00onde o último qualificador (referido como nível ‘goovoo’) especifica o absoluto número de geração – que pode variar de 0001 a 9999 à medida que gerações são criadas, eliminadas e excluídas. O número da versão (‘Vxx’) raramente é usado.
Embora seja possível referir-se a um conjunto de dados de geração específico pelo seu nome absoluto e versão, é mais comum usar números de geração relativos no nome do conjunto de dados.
A geração relativa é especificada colocando-a entre parênteses após o nome base do GDG.
A geração mais recente, ou atual, é a geração zero – no nosso exemplo é MEU.DADOS.DE.NEGÓCIO(0).
- Geração mais velha os números são prefixados por um sinal de menos – então, a geração anterior à geração atual seria DADOS.DE NEGÓCIO(-1)
- Novas gerações são criados especificando um sinal de mais: DADOS.DE NEGÓCIO(+1) e MEU.DADOS.DE.NEGÓCIO(+2).
Ao criar novas gerações, certifique-se de especificar cada novo número de geração em ordem crescente à medida que os nomes dos conjuntos de dados aparecem na JCL, especialmente em uma tarefa de várias etapas, para que as gerações sejam catalogadas corretamente.
Os conjuntos de dados de geração são comumente usados não apenas para aplicações comerciais comuns, mas também para dados de sistema – particularmente dados SMF. Eles são especialmente flexíveis, uma vez que qualquer conjunto de dados de geração particular person dentro de um GDG pode residir em disco ou fita, pode ser gerenciado por SMS ou não-SMS e pode ter diferentes tamanhos de bloco ou outras características.
No entanto, os GDSs são gerenciados de forma fácil e automática em virtude de sua convenção de nomenclatura. As gerações são:
- Mantido em ordem cronológica
- Excluído automaticamente conforme necessário
- Referido individualmente ou como um grupo
ProdutoSyncsort
Gerenciamento de armazenamento
Assuma o controle do seu armazenamento IBM Z e do seu orçamento.
Processando todas as gerações
Embora a maior parte do processamento diário provavelmente lide com conjuntos de dados de geração, um de cada vez, os aplicativos que processam semanalmente ou mensalmente podem querer lidar com todas as gerações pertencentes a um GDG de uma só vez.
Isso é feito simplesmente especificando o nome base do GDG na JCL, sem qualquer número de geração relativo ou absoluto. Por exemplo:
//ENTRADA DD DSN=MY.BUSINESS.DATA,DISP=SHR
Este processamento ‘GDG-all’ trata a instrução DD como se fosse uma entrada combinada de todas as gerações pertencentes ao GDG.
Por padrão, as gerações são processadas da mais recente para a mais antiga (ordem LIFO). Eles podem, no entanto, ser processados do mais antigo para o mais recente, especificando FIFO quando a base do GDG é definida ou no GDGORDER parâmetro no JCL.
Nas versões mais recentes do z/OS, a IBM continuou a adicionar recursos ao processamento de GDG, incluindo a ordem LIFO e o uso de GDGs estendidos, que podem acompanhar até 999 gerações, em vez do limite anterior de 255.
Parâmetros adicionais relacionados ao GDG foram incluídos na linguagem JCL. Os padrões para GDG DEFINE agora podem ser configurados no membro IGGCATxx de SYS1.PARMLIB. Além disso, os usuários do Precisamente Syncsort
Centro de Controle de Alocação (ACC) pode aproveitar os padrões de alocação em todo o sistema aplicados pelo ACC Coverage Guidelines Engine para definir políticas para a criação e características não apenas de conjuntos de dados de geração, mas de todos os tipos de outros dados SMS ou não SMS.
GDG: um ponto forte do z/OS
O processamento GDG é um ponto forte exclusivo do sistema z/OS.
Com muito pouco esforço, múltiplas iterações de dados relacionados podem ser agrupadas, rastreadas e gerenciadas usando trabalho em lote comum e processamento de catálogo.
Os GDGs são simples de entender e úteis para uma ampla gama de dados de negócios e de sistemas. Eles geralmente são a espinha dorsal de alguns dos aplicativos mais importantes executados no z/OS atual.
Para saber mais e dar o próximo passo além dos GDGs, veja como Syncsort
Gerenciamento de armazenamento ajuda a otimizar o armazenamento do IBM Z e evitar falhas dispendiosas relacionadas ao espaço.
A postagem O que há em um nome? GDGs de mainframe fazem o trabalho apareceu primeiro em Precisamente.