sábado, fevereiro 05, 2011

Utilitário Adabas - ADAULD (Unload de File ADABAS)

ADABAS DBMS

O ADABAS é o sistema de gerenciamento de banco de dados da Software AG. O ADABAS organiza e acessa dados segundo as relações entre campos de dados. As relações entre campos de dados são expressas por arquivos ADABAS, que se compõem de campos de dados e registros lógicos. Com o ADABAS DBMS, você também pode usar a língua de alto nível chamada de NATURAL para funcionar em dados que são dirigidos pelo DBMS. NATURAL é o quarto sistema de desenvolvimento de aplicação de geração de AG de Software que lhe permite criar, modificar, ler, e proteger dados que o DBMS dirige. Todos os arquivos ADABAS e os campos de dados referidos em um programa NATURAL devem ser definidos a NATURAL por um Módulo de Definição de Dados (DDM).

Definição de um ADABAS DBMS Banco de Dados

Um banco de dados Adabas é uma coleção de dados organizados em arquivos. Cada banco de dados tem um identificador numérico para o banco de dados, que variedade 1 para 65,535, e um nome de banco de dados, que é um valor de caráter com um máximo de 16 carateres. Cada banco de dados pode compor-se de até 5,000 arquivos lógicos. Um banco de dados Adabas compõe-se de três files systems (arquivos de sistema) que são chamados de Data Storage, Associator e Work Storage.

- O arquivo de sistema de Data Storage contém os registros de dados reais para todos os arquivos ADABAS em um banco de dados, na forma compressa.
- O arquivo de sistema Associator contém a informação sobre armazenamento interna que dirige os dados do banco de dados inteiro.
- O arquivo de sistema de Work Storage contém arquivos de trabalho temporários.

Data Sets do Adabas

ASSO - O associator que contém as informações de controle para o administrar os dados dos usuários, neste data set onde estão as localizações dos dados, para melhor utilização dos discos pode ser comprimido os dados. Contém basicamente os dados de.

01 - Listas Invertidas (de superdescritor, descritor.
02 - Conversor de endereços (Tabela de ISN e RBN)
03 - Tabela de descrição de dados - FDT
04 - Outros dados de controle como memória disco disponivel, quantidade de arquivos carregados, controle de utilização de ISN entre outros.

DATA - Data Storage onde estão os dados dos usuários, o Adabas armazena os dados de formar comprimida, diminuindo o indice de utilização de memoria em disco.

WORK - Este data set pelo nucleo do banco Adabas como arquivo de trabalho que executa as tarefas abaixo:

01 - Proteção e recuperação do banco de dados.
02 - Armazenamento intermediario das listas de ISN proveniente de pesquisas.
02 - Area intermediaria para operação dos algoritimos de pesquisa.

PLOG - (Protection Log) Este data set é onde ficam armazenadas as alterações feitas no banco Adabas (é utilizada em bancos de Produção) - quando o analista descobre que alguem deletou um registro é usando o Plog que se recupera o arquivo deletado do banco.

CLOG - (Command Log) Este data set é para fazer estatisticas do banco, como exemplo de comandos de pior duração, ou de programas de consomem mais recursos entre outros, tem diversar softwares que coletam estas informações e fazem alguns relatórios bem interessante.

ADABAS Files

Definição de um Aquivo Adabas

Um arquivo ADABAS é uma coleção de dados logicamente relacionados, organizados por campos de dados e registros lógicos. O ADABAS permite máximos de 926 campos de dados e 4,294,967,294 registros lógicos em cada arquivo ADABAS. A produção seguinte ilustra quatro campos de dados e sete registros lógicos de um arquivo ADABAS que contém dados sobre clientes.

Os arquivos de ADABAS são criados com o utilitario ADACMP do ADABAS.

ADACMP COMPRESS
ADACMP FILE=210
ADACMP MINISN=1
ADACMP DEVICE=8391
ADACMP FNDEF='01,AA,11,U,DE,NU'
ADACMP FNDEF='01,AB,11,U,DE,NU'
ADACMP FNDEF='01,AC,11,U,DE,NU'
ADACMP FNDEF='01,AD,11,U,DE,NU'
ADACMP FNDEF='01,AE,11,U,DE,NU'
ADACMP FNDEF='01,AF,8,A,NU'
ADACMP FNDEF='01,AG,8,U,NU'
ADACMP FNDEF='01,AH,8,U,NU'
ADACMP FNDEF='01,AI,1,A,NU'
ADACMP FNDEF='01,AJ,250,A,NU'
ADACMP FNDEF='01,AK,250,A,NU'

Número do Arquivo ADABAS - Quando você cria um arquivo ADABAS, você destina um número de arquivo que usa o ARQUIVO = a afirmação da utilidade ADACMP. Cada banco de dados pode compor-se de até 5,000 arquivos lógicos, dependendo do tipo de dispositivo.

Campos de um File

Level Number - Um número de nível de campo de dados é um um - ou o número de dois dígitos, de 01 para 07, usado em conjunto com o agrupamento de campo de dados. (O agrupamento é discutido em Campos de Dados ADABAS.) considera-se que campos de Dados com um nível de 2 ou maior são uma parte do grupo imediatamente precedente, que tem um número de nível mais baixo.

Nomes de Campo de Dados - Os campos de dados de ADABAS são identificados por um nome de dois carateres. Cada nome de campo de dados em um arquivo ADABAS deve ser único. O primeiro caráter deve ser alfabético, e o segundo caráter pode ser alfabético ou numérico. Por exemplo, AA e B4 são nomes de campo de dados válidos.

Logical Record ISN - Cada registro lógico dentro de um arquivo ADABAS é destinado um número de seqüência interno (ISN). Um ISN é o identificador lógico de cada registro. Os ISNs são únicos dentro de cada arquivo ADABAS.

Campos Descritores - Se você planejar usar um campo de dados muitas vezes em critérios de seleção, você pode indicá-lo como um campo-chave. Você indica um campo-chave especificando a opção descritiva na afirmação de definição de dados de serviço ADACMP. Quando um campo de dados é um campo descritivo, ADABAS mantém e fornece os seus valores em uma lista inversa. Uma lista inversa contém os valores diferentes de um campo de dados descritivo, junto com a conta e o ISNs dos registros lógicos que contêm cada valor. Os descritores de ADABAS também podem ser definidos para que as listas inversas contenham valores únicos só. A Especificação os descritores de ADABAS aceleram o processo de seleção consideravelmente desde ADABAS é capaz de acessar valores-chave diretamente. Também, a especificação de descritores controla a seqüência lida lendo dados de ADABAS em sequência. Vários tipos descritivos podem ser especificados para um campo de dados. Cada tipo descritivo é explicado em baixo.

Subdescriptor - Um subdescritor é um descritor ADABAS que é conseguido de uma porção de um campo de dados elementar. Por exemplo, se ZIPCODE é um campo de dados, um subdescritor para ele pode ser ZIPLAST2 definido para dois dígitos últimos de um zipcode.

Superdescriptor - Um superdescritor é um descritor ADABAS conseguido de mais de um campo de dados, porções de campos de dados, ou combinações disso. Por exemplo, um superdescritor denominado STATE-ZIPLAST2 pode ser definido para dois primeiros dígitos do campo de dados STATE e dois dígitos últimos do campo de dados ZIPCODE.

Phonetic Descriptor - Um descritor fonético é um descritor ADABAS definido para executar pesquisas baseadas em valores fonéticos, por exemplo, recuperação pelo nome de família.Opções de Segurança do ADABAS e NATURAL

Resumo de Opções de Segurança - O ADABAS DBMS oferece opções de segurança tanto por ADABAS como por NATURAL. Para proteger os seus dados ADABAS, você pode usar cada forma da segurança, ou você pode fazer que ambo colaborem.

ADABAS Security Options - O ADABAS fornece uma facilidade de segurança para prevenir o acesso não autorizado a dados fornecidos em arquivos ADABAS. A segurança é disponível pela proteção de senha e mantendo dados na forma cifrada.

Passwords - Forneça a proteção ao nível de arquivo ADABAS, nível de campo de dados, e nível de valor de dados. Essa opção de segurança são definidas com a utilidade de segurança ADASCR e fornecidas no arquivo de sistema de Segurança ADABAS. Para acessar um arquivo ADABAS protegido por uma senha, você deve fornecer a senha válida. Cada campo de dados em um arquivo ADABAS pode ser destinado até quinze níveis de lido e segurança de atualização. Uma senha de usuário especifica a autoridade do campo de dados, e ADABAS automaticamente determina se o usuário é autorizado a executar a operação solicitada. Se o nível de permissão da senha de um usuário for igual a ou maior do que o nível de permissão do arquivo o usuário está tentando acessar, acessar é concedido. Qualquer arquivo ADABAS pode ser protegido em valores de campo de dados individuais. Neste caso, a senha especifica restrições de valor em registros lógicos a ser selecionados, ler, e atualizado.

Cipher Codes - São códigos numéricos simples que você pode destinar a utilização da utilidade ADACMP criando um arquivo ADABAS. A cifração dá registros de dados ilegíveis quando eles não são expostos com um programa ADABAS ou utilidade. Você deve fornecer este código de cifra para acessar os dados cifrados.

Note: A informação sobre sistema como DDM e informação sobre SEGURANÇA NATURAL também é fornecida em arquivos ADABAS; eles também podem ser protegidos por senha ou cifrados.

NATURAL Security Options - NATURAL fornece um sistema de segurança opcional que controla o acesso e o uso do ambiente NATURAL. Você pode restringir o uso de sistemas de aplicação inteiros, programas individuais e funções, e o acesso a DDMs.

Users - Pode ser usuário, computadores, ou grupos de também, com identificadores destinados. O identificador de usuário identifica o usuário ao NATURAL SECURITY e controla a atividade de usuário durante uma sessão NATURAL. O identificador é único a NATURAL e pode estar à altura de oito carateres muito tempo. Cada identificador de usuário pode ter uma senha de oito carateres associada.

Libraries - Contenha jogos de programas de fonte NATURAIS, módulos de objeto, ou ambos que executam uma determinada função, com identificadores destinados. Fornecido nos dados de biblioteca são as senhas ADABAS ou códigos de cifra para permitir a programas NATURAIS trabalhar com a Segurança ADABAS. O identificador de biblioteca identifica a biblioteca e o arquivo ADABAS que é autorizado a acessar o NATURAL SECURITY. O identificador é único a NATURAL e pode estar à altura de oito carateres muito tempo.

Files - São o baseado DDMs NATURAL em arquivos ADABAS.

As relações, called Links, são definidas entre esses objetos. Essas conexões definem que usuários podem usar uma biblioteca e que entra uma biblioteca são acessíveis. Os usuários, as bibliotecas, os arquivos, e as conexões são todos fornecidos no arquivo de sistema de Segurança NATURAL, que também pode ser protegido com uma senha ADABAS ou código de cifra desde que ele é um arquivo ADABAS. Por exemplo, um identificador de usuário e a biblioteca poderiam ser capazes de acessar um DDM para lido só, enquanto outro identificador de usuário e a biblioteca poderiam ser capazes de ler e atualizar o mesmo DDM.

Tamanhos dos campos Adabas

N - Numerico - de 1 até 29 bytes
B - Binario - de 1 até 126 bytes
A - Alfanumerico - de 1 até 253 bytes
F - Ponto Fixo - até 4 bytes
G - Ponto Flutuante - 4 a 8 bytes
P - Decimal Compactado - até 15 bytes
U - Decimal Não Compactados - até 29 bytes

Campo Elementar - é limitado a um valor por registro. Por exemplo, Nome poderia ser um campo elementar.

Campo Múltiplo - Um valor de campo múltiplo pode ter valores de 0 a 191 por registro. Por exemplo, Cargo poderia ser um valor múltiplo, pois cada empregado em uma empresa pode ter vários cargos durante o seu tempo na empresa.

Campo Grupo - Um campo group é consecutivas vários campos de dados combinados em um para um acesso eficiente e facilidade da referência. Definindo um agrupamento campo permite-lhe referência a uma série de campos de dados usando um nome do grupo. Por exemplo, um grupo chamado campo EDUCAÇÃO poderá ser constituída por estes campos de dados: COLÉGIO, LICENCIATURA, e ANO. Um grupo domínio pode consistir também de outros grupos. Em articulação com agrupamento, você pode atribuir nível números 01 a 07 para definir um grupo.

Campo Grupo Periodico - É um grupo de campos de dados que repetir. Um grupo periódica pode ser repetido até 99 vezes e pode conter uma ou mais elementares e campos múltiplos campos de valor. Os grupos podem ser alinhados, mas não pode periódica grupos. Um periódico não pode conter um outro grupo. No entanto, um registro pode ter vários grupos diferentes periódicos.

Sub Descritor - Um sub descritor é um campo de dados definidos a partir de uma porção de um outro campo de dados. Por exemplo, um subfield chamado AREA-CODIGO poderia ser definido para os três primeiros dígitos do telefone dados campo.

Super Descritor - É a combinação de dois ou mais campos - pode ser completo usado todos os campos ou partes dele - um campo Alfa de 10 posições, no super você pode utilizar os dez ou o nono campo (ou menos como a quarta, quinta posição) - fica a critério do analista - importante destacar - um superdescritor tem que ter mais de dois campos - se for somente um campo pode ser Hiperdescritor - o que o super descritor faz, ele pega todos os campos contidos nele e cria uma lista uma lista invertida com o endereço daquele registro, assim sendo mais rapida a consulta.

Nulo - O Adabas tem um valor especial chamado um valor nulo, o que significa uma ausência de informação. Algumas vezes não é interessante usar, imagine um campo com os dados do cliente cujo o nome seja nulo, como podemos identificar o cliente. Você não pode definir campos de dados para armazenar dados nulos NU, especificando a opção de definição de dados declarações. Em condições normais de armazenamento de dados (ou seja, não especificados NU), um valor nulo é representado por dois bytes (um para o comprimento e um valor para o valor nulo). Suprimindo valores nulos resulta em um valor nulo a ser representado por um byte, um campo vazio indicador. O valor nulo em si não é armazenada. Saber se um campo de dados tiver valores nulos assiste-lhe, por escrito, os critérios de selecção e entrando em valores para atualizar os dados ADABAS. Por exemplo, se a opção for especificada NU ADABAS descritor para um campo de dados, valores nulos para o campo de dados não são armazenados no lista invertida. Por isso, uma pesquisa usando esse campo de dados e um valor nulo como o valor pesquisa, resultaria em nenhum registro selecionado, apesar de poder haver registros que contêm um valor nulo para o campo de dados.

Importante Saber Sobre o Adabas

Como muitos aplicativos o Adabas possui alguns termos próprios, bem vou destacar alguns abaixo:

CAMPO ELEMENTAR - Contém apenas um valor de um registro.

CAMPO MULTIPLO - Pode possuir até 191 ocorrencias em um mesmo registro, onde ele pode assumir diversos valores dentro de uma ocorrência de registro.

CAMPO DE GRUPO - Consiste em vários campos elementares consecutivos da FDT combinados em apenas um. Dessa forma pode-se acessar os campos com mais facilidade melhorando o desempenho quando devidamente utilizado durante o processo de manipulação de dados.

CAMPO PERIODICO - É um campo que possibilita obter diversas ocorrencias dentro de uma mesma ocorrencia, pode ser repetido até 99 vezes.

SUPERDESCRITOR - É a combinação de dois ou mais campos - pode ser completo usado todos os campos ou partes dele - um campo Alfa de 10 posições, no super você pode utilizar os dez ou o nono campo (ou menos como a quarta, quinta posição) - fica a critério do analista - importante destacar - um superdescritor tem que ter mais de dois campos - se for somente um campo pode ser Hiperdescritor - o que o super descritor faz, ele pega todos os campos contidos nele e cria uma lista uma lista invertida com o endereço daquele registro, assim sendo mais rapida a consulta.

REGISTRO - É um conjunto de campos constitui um registro Adabas, cada registro esta associado a um número seguencial interno (ISN) assinalado e administrado pelo Adabas.

BLOCO - Um bloco constitui um conjunto fisico de registros e possui tamanho fisico em função do tipo de disco utilizado. Cada vez que o Adabas transfere informações do disco para a memoria (ou vice e versa) é através do bloco fisico.

ISN - Internal Seguence Number - (Numero Seguencial Interno) Consiste num número seguencial interno associado a cada registro que entra no banco de dados Adabas, é único por arquivo, toda a manipulação de registro pelo Adabas base no ISN. O ISN tanto pode ser gerado pelo Adabas como pode ser assinalado pelo usuário.

RABN - Relative Block Number - (Numero Relativo do Bloco) O Adabas associa aos blocos dos data sets (ASSO, DATA entre outros) um número seguencial, o RBN é convertido em endereço fisíco do disco pelo método de acesso do sistema operacional (BDAM em IBM) antes de ser efetuada a operação de entrada e saida.

EXTENT - Um determinado Extent consist num conjunto de blocos fisícos contigos (de disco) alocados para uma determinada função Adabas.

FILE - (ARQUIVO) Um arquivo Adabas consiste num conjunto de blocos de dados do usuário e pode ser constituido de diversos extents fisicos.

BANCO DE DADOS - Um banco de dados Adabas consiste em um ou mais arquivos (FILE) de dados do usuário, e também todas os dados e tabelas necessarias ao Adabas na Administração do banco de dados. O banco Adabas é composto por alguns data sets. - ASSO / DATA / WORK - (PLOG / CLOG)

FCB - (Bloco de controle de arquivo) - Para cada arquivo do banco existe uma FCB. Contém informações sobre área de estensão e de áreas livres.

FDT - Tabela de descrição de campos - Uma FDT corresponde a descrição dos campos que compõem cada FILE (arquivo) e corresponde ao esquema dos campos do campo no banco. Como os dados são compactados e há supressão de campos brancos e nulos, a FDT é frequentemente consultada quando uma vez obtida o valor de ISN e RABN, dai se efetua o varredura sequencial dos campos de registros lógicos. Na FTD estão em detalhes a descrição fisíca de todos os campos.

ADDRESS CONVERTER - (AC endereço conversor) Determina a localização física de um registro. Trata - se de um índice que os mapas lógico identificador de um registro (ou seja, o ISN), para o parente Adabas bloco número (RABN) do Data Storage bloco onde o registro é armazenado.

NORMAL INDEX - (NI Indice normal) Contém efetivamente as listas invertidas correspondente aos valores dos campos definidos como descritores.

UPPER INDEX - (UI) - É um resumo do NI, ele contém as listas invertidas (resumos) para poder encontrar mais rapido o registro. Em arquivos grandes ele é muito usado, para o Adabas encontrar a localização de um registro na lista invertida ele vai no UI e encontra o resumo de onde esta o registro, sabendo onde esta vai no NI direto no registro, se não tivesse o Upper Index para encontrar na lista invertida o registro o Adabas teria que pesquisar toda a lista do NI para poder encontrar.

DATA STORAGE - (DS) É onde estão os dados do banco.

SUPRESSÃO DE VALORES BANCOS E NULOS - Detalhes;

01 - Valores em brancos ou zero não são armazenados no banco.
02 - Campos nulos (consecutivos) são representados por um byte.
03 - Campos descritores com valores nulos não ficam na lista invertida, somente quando solicitado o Null Supress, opção que pode ser marcada na hora de criação do campo.
04 - Campos não nulos são precedidos por um byte de comprimento.

BUFFER POOL - Esta área é essencial á execução dos comandos e programas que acessam o banco, o seu tamanho influi diretamente no desempenho do Adabas em ter termos de CPU. Esta área, além de conter os blocos do Associator com FDT, FCB, HIPER INDEX é utilizada de forma a armazenar os blocos do DATA STORAGE lidos e a serem gravados novamente. É efetuada uma analise de frequencia de utilização de blocos de forma a manter em memoria pricipal de maior utilização, de forma a tornar desnecessaria novas leituras em disco. O tamanho ideal seria tal que se mantivesse um nivel baixo de atividade no buffer pool, e que as gravações se dessem em tempo de close.

Simplificando a explicação sobre Buffer Pool. Vamos imaginar o buffer pool um grande quadrado (com tamanho x) com várias divisões cada quadrado tem y - vamos representar o Y por 2 mb, se algum processo for de 3 mb ele vai utilizar dois blocos de 2 - somando 4 mb o 1 mb restante ele não vai liberar para outro.

Código:
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+
|2|2|2|2|2|2|2|2|2|2|
+-+-+-+-+-+-+-+-+-+-+

OBSERVAÇÃO
- 2 X 10 (pois tem 10 de 2) = 20 mb - Como são 4 então temos 60 mb de buffer pool.

PADDING (Densidade de Carga) ASSO/DATA Padding - É possivel ao Adabas especificar uma percentagem inicial de area não ocupada em cada bloco durante uma operação de carga de arquivo, correspode ao padding do bloco e tem por objetivo tornar mais eficiente os processos de atualizações de registros no bloco, tornando menor a necessidade de deslocamento de registros nos blocos originais devido ás modificações para maior nos tamanhos de campos. De forma semalhante deve-se estipular um fator de PADDING para o ASSO.

COUPLING (Acoplamento) O acoplamento em Adabas consiste na ligação fisíca entre dois ou mais FILES (arquivos) de um banco de dados. Esta ligação fisíca entre registros de dois arquivos com base no valor de um determinado campo de acoplamento envolve basicamente a construção de duas listas no ASSO onde o valor do campo correspondente é exatamente ao valor do ISN.

Funcionalidade do COUPLING - O acoplamento permite ao usuário navegar entre diversos arquivos do banco de dados, através das listas de ISN de acoplamento. É bom destacar que o acoplamento gasta mais recurso de memoria de disco, o processamento com as listas de ISN de acoplamento traz um ônus á carga da CPU, de forma que é mais recomendável efetuar comandos de pesquisa de entre dois arquivos.

0 comentários:

Enviar um comentário