domingo, fevereiro 06, 2011

Adabas Design

Sistemas de banco de dados muitas vezes envolvem estruturas complexas de dados e procedimentos de manipulação que podem ser concebidos e utilizados apenas por pessoas com conhecimentos e experiência. Adabas tem uma estrutura extremamente simples, por comparação, no entanto, oferece vantagens significativas para a eficiência operacional, facilidade de projeto, definição e evolução do banco de dados.

Adabas Entidades

No Adabas, um campo é a menor unidade lógica de informação (por exemplo, o salário atual) que podem ser definidos e referenciados pelo usuário. Um registro é uma coleção de campos relacionados que formam uma unidade completa de informação (por exemplo, todos os dados da folha de pagamento para um único funcionário). Um arquivo é um grupo de registros relacionados que têm o mesmo formato (com algumas exceções; ler vários tipos de registro em um arquivo). Um banco de dados é um grupo de arquivos relacionados.

Limites do Adabas

Abaixo mostra o número máximo do Adabas rodando no mainframe cada banco:

Bases de Dados -- 65,535
Blocks por Banco -- 2,147,483,646 usando 4-byte RABNs
Arquivos por Banco -- o menor de 5,000 ou o tamanho do bloco Associator menos um
Registro por File
-- 4,294,967,294 using 4-byte ISNs
Campos por Registro -- 926
Comprimento do Descomprimido do Registro -- Depende do sistema operacional
Comprimido comprimento de registro -- Data Storage block size

Gerenciamento do Espaço Adabas

O espaço de armazenamento em disco alocado para um banco de dados Adabas único é dividido em arquivos lógicos Adabas. Uma certa parte do espaço total no banco de dados é alocado para cada arquivo lógico. Quando o espaço é preenchido com os registros do arquivo, o Adabas aloca automaticamente mais espaço para o arquivo do pool de espaço livre comum. Esta alocação de espaço dinâmico, juntamente com a recuperação dinâmica do espaço liberado, permite que bancos de dados Adabas para executar, sem intervenção por longos períodos de tempo.

A distribuição do espaço do banco de dados em drives de disco podem ser controlados fisicamente segmentá-lo em múltiplos conjuntos de dados independentes. Quando todo o espaço físico do banco está cheio, mais conjuntos de dados podem ser alocados de forma dinâmica, ou o tamanho dos conjuntos de dados existente pode ser aumentada para que os novos arquivos físicos podem ser carregados sem reorganizar o banco de dados inteiro.

Componentes do Adabas

Para apoiar a separação de dados e estruturas de acesso, o núcleo Adabas utiliza três componentes de banco de dados:

Data Storage - Armazenamento de dados para dados compactados
Associator - Para a gestão e recuperação de dados
Work - Uma área de rascunho para critérios de pesquisa complexas, etc

Data Storage

Data Storage é dividido em blocos, cada um identificado por um 3 - ou 4-byte bloco número relativo Adabas, ou RABN, que identifica a localização física do bloco em relação ao início do componente. Blocos de armazenamento de dados contém um ou mais registros físicos e uma área de padding (enchimento) para absorver a expansão dos registros no bloco.

Um identificador lógico armazenado nos primeiros quatro bytes de cada registro físico é o controle de informações armazenadas apenas no bloco de dados. Este número de seqüência interna ou ISN identifica com exclusividade cada registro muda e nunca. Quando um registro é adicionado, é atribuído um ISN iguais ao maior existente ISN mais um. Quando um registro é excluído, o seu ISN é reutilizado apenas se instruir Adabas para o fazer. Reutilizando ISNs reduz a sobrecarga do sistema durante algumas buscas e é recomendado para arquivos com registros que são freqüentemente adicionados e excluídos.

Para cada arquivo, entre 10-90 por cento (padrão 10%) de cada bloco pode ser alocado como preenchimento com base na quantidade e tipo de atualização que o esperado. Este espaço reservado permite registros de expandir sem migrar para outro bloco e, portanto, ajuda a minimizar a sobrecarga do sistema.


Espaço livre e espaço Reusado

Se os registros se tornam grandes demais para seus blocos, eles migram para outros locais. Quando um registro migra ou for excluído, o espaço livre é aberto no bloco de dados entre o último registro e da área de enchimento. A figura a seguir mostra o espaço livre criado quando o registro com o ISN 0401 torna-se demasiado grande para o bloco e migra para outro bloco:



Você pode instruir o Adabas para reutilização de espaço livre. Reutilizar o espaço conserva tempo de computador, uma vez que o Adabas em seguida, lê menos blocos físicos durante as buscas. É recomendado para todos os arquivos

Compressão

A compressão de dados reduz significativamente a quantidade de armazenamento necessário. Ele também permite a transmissão de mais informações por transferência física, resultando em maior I/O de eficiência.

Adabas mantém registros de dados em forma de comprimido. Várias opções de compressão são suportados:

* Padrão de compressão;
* Supressão de nulo, e
* Formato fixo, e
* forward or prefix index compression. (Avançar ou prefixo compressão de índices).

As três primeiras opções de definir e executar a compactação em nível de campo, com a supressão nulo e do formato de compressão fixe adicionadas as opções de campo.

A quarta opção para a frente, ou compressão índice de prefixo, comprime os valores descritor na lista invertida o Associator's. Ela pode ser implementada no arquivo ou o nível de banco de dados, na qual os arquivos caso específico pode ser definido de modo diferente, a configuração de nível de arquivo substitui a configuração de banco de dados. O atacante opção de compactação do índice é definido usando o utilitário ADALOD e podem ser alteradas usando o utilitário ADAORD. Esta opção de compactação é descrito mais detalhadamente em listas invertidas.

A supressão nula e as opções de formato fixo são adicionados como opções de campo e são discutidos em Opções de compressão de dados FI e NU.

Padrão de compressão elimina espaços em branco nos campos alfanuméricos e zeros à esquerda em campos binários. Um byte de comprimento inclusiva (ILB), no início do campo indica o número total de bytes armazenados, incluindo o ILB. Assim, se "Susan" está inscrita em um "primeiro nome" campo definido com um comprimento de 20 caracteres e compressão padrão, seu tamanho armazenado será de seis bytes: cinco bytes para as letras do nome, mais um byte para o ILB . Além disso, os campos vazios em uma gravação não são armazenadas; um campo vazio é substituído por um contador de campo de um byte vazio (CEF). Adabas pode armazenar até 63 campos vazios contíguos em um único byte hexadecimal.

Muitos arquivos Adabas requerem apenas 50% a 60% do espaço utilizado para os dados brutos. Mesmo com a adição de cerca de 25% para as estruturas de acesso armazenados no Associator, os requisitos de armazenamento Adabas ainda são inferiores às necessárias para o armazenamento de arquivos tradicional ou para SGBDs que não usam compressão de dados.



Associator

O Associator é uma unidade organizacional usada para armazenar as estruturas necessárias para acessar os dados no armazenamento de dados. Ele contém os seguintes elementos:

* Dois blocos de controle geral (GCBs) para o banco de dados. O GCBs fornecer informações sobre as características físicas do banco de dados, tais como o banco de dados de identificação (DBID), o número de arquivos carregados, o número de Associator, Armazenamento de Dados, e extensões de Trabalho, o Associator, armazenamento de dados e tipos de dispositivos de Trabalho, informações sobre o sistema de arquivos, armazenamento de dados espaço para mesa (DSST), extensões, eo indicador de versão do banco de dados.

* Blocos individuais de controle de arquivos (FCBs) para cada arquivo. O FCBs identificar as características físicas e RABNs associados de arquivos de banco de dados. O conteúdo inclui o nome do arquivo, número do processo, o status do arquivo atual, as configurações de reutilização ISN, as configurações de reutilização do espaço, MINISN e configurações MAXISN, o ISN primeiras eleições livres, eo número de atualizações com o arquivo. Além disso, o RABN primeiro RABN passado, ea primeira RABN não utilizadas são armazenadas no FCB.

* Todas as tabelas necessárias para controlar e manter o banco de dados, incluindo uma tabela de definição de campo (FDT) para cada arquivo e listas de engate para arquivos fisicamente acoplados. Para obter mais informações sobre o FDT, leia Records e Definições de campo. Para obter mais informações sobre arquivos fisicamente acoplado, leia Acoplado arquivos.

* Uma lista invertida para cada descritor em cada arquivo do banco de dados e um conversor de endereço de cada arquivo.

* Se os registros estendidos são usados em um arquivo, um conversor de endereço secundário para o arquivo.

Address Converter

No Adabas o Address Converter (Conversor de Endereço) determina o local físico de um registro. É um índice que mapeia o identificador lógico de um registro (ou seja, o ISN) para o número relativo de blocos Adabas (RABN) do armazenamento de dados do bloco onde o registro está armazenado.

O conversor de endereço contém uma lista de RABNs para ISN. Somente o RABNs são realmente armazenadas no conversor de endereço; o ISNs são identificados pela sua posição relativa.

A figura a seguir mostra a relação entre uma lista invertida, o conversor, endereço e armazenamento de dados. Por exemplo, para determinar a localização física do registro cujo ISN é 6, Adabas usa o ISN como um índice para o conversor de endereço. A entrada em sexto lugar no conversor de endereço é de 2. Portanto, ISN 6 está localizado no bloco 2, em física de armazenamento de dados para este arquivo.



Quando um registro é alterado ou é excluído, no Adabas é atualizações o conversor o endereço automaticamente e de forma transparente.

Uma vez que o ISN para um registro nunca muda, e seu endereço físico do bloco é armazenado apenas na entrada do conversor de endereço, o registro em si pode ser movido em armazenamento de dados com apenas uma atualização para o conversor endereço desejado e sem extensão para o caminho de acesso o registro.

Mesmo se um registro tiver muitos descritores definidos, a lista invertida para cada descritor não precisa ser modificado, pois contém ISNs.

Este processo explica como Adabas é capaz de realizar pesquisas simples e complexas de forma rápida e eficiente, sem armazenar informações de ponteiro em armazenamento de dados.

Work

Uma área de Work armazena informações em quatro partes:

1 - data protection informações exigidas pelas rotinas de autorestart e autobackout;
2 -
Resultados intermediários (listas de ISN) de comandos de pesquisa;
3 - Resultado final (listas de ISN) de comandos de pesquisa;
4 - Os dados relativos a duas fases processamento;

Areas de Temp e Sort

Alguns utilitários Adabas (ADAINV, ADALOD) requerem dois outros data sets de classificação e temporário, para triagem e armazenamento intermediário de dados. Algumas funções de outras utilidades exigir que os dados temp conjunto para armazenagem intermédia.

O tamanho do temporário e conjuntos de dados de classificação varia de acordo com a função de utilidade para ser executado. Estes conjuntos de dados podem ser alocados durante o trabalho e depois liberado, ou conjuntos de dados permanentes podem ser alocados e reutilizados.


Logs

Adabas usa os seguintes opcionais logs:

  • O Command log (CLOG) armazena informações de registros do bloco de controle de cada comando Adabas que é emitido. O CLOG proporciona uma trilha de auditoria e pode ser usado para depuração e para o acompanhamento da utilização dos recursos. Simples, duplo ou múltiplos conjuntos (2-8) os dados podem ser utilizados (vários data sets são recomendadas). Timestamps em um command log do Adabas versão 8 são criados usando o CLOGLAYOUT ADARUN= 8 parâmetro são armazenados na machine time (GMT), enquanto CLOGLAYOUT= 5 timestamps são armazenadas, como sempre, na hora local. O layout do registro LORECX que descreve o comando CLOGLAYOUT= log 8 inclui um campo de tempo diferencial que armazena a diferença entre a machine time e a hora local no momento do registro CLOG está escrito. Este campo permite calcular a hora local de um registro de command log.
  • Os registros do Protection Log (PLOG) são as imagens antes e depois dos registros e outros elementos quando são feitas alterações no banco de dados. Ele é usado para recuperar o banco de dados (até a última transação concluída ou ET) após a reinicialização. Simples, duplo ou múltiplos conjuntos (2-8) os dados podem ser utilizados (vários data sets são recomendadas).
Files do Banco de Dados

Cada banco de dados contém arquivos de sistema (files system) e arquivos de dados. Um arquivo de dados geralmente é criado para cada registro estrutura necessária, ou seja, para cada conjunto de campos relacionados identificados.

Os arquivos são carregados para o banco de dados usando o utilitário ADALOD. Um número de arquivo deve ser exclusivo no banco de dados e não maior que o número máximo de arquivo definido para o banco de dados no parâmetro MAXFILES. Arquivos de Checkpoint, trigger e de segurança, e o de system estes arquivos que podem ser criados em bytes de dois digitos, mas não pode ser superior a numeração de 5000. Fisicamente arquivos associados não podem incluir arquivos com números maiores que 255. Arquivo números são atribuídos pelo usuário em qualquer seqüência.

Files System (Arquivos de Sistema)

Adabas usa determinados arquivos para armazenar informações de sistema. Usando o parâmetro do arquivo o utilitário ADALOD, você pode identificar um arquivo de sistema Adabas como um dos seguintes procedimentos:

CHECKPOINT - Arquivo de Checkpoint do Adabas
SECURITY - Arquivo de segurança
SYSFILE - Arquivos System do Adabas
TRIGGER - Arquivos Trigger do Adabas

Arquivos Couple

Arquivo de Couple (acoplamento) permite que você selecione, usando um único comando de busca, os registros de um arquivo que estão relacionados (acoplado) para os registros contendo valores especificados em um segundo arquivo.

Physical Coupling

Qualquer dois arquivos com números de arquivo de 255 ou mais baixos podem ser fisicamente acopladas se um descritor comum, com formato idêntico e definições de comprimento que está presente em ambos os arquivos. Um único arquivo pode ser associado a até 18 outros arquivos, mas apenas uma relação de engate pode existir entre dois arquivos de uma vez. Um arquivo não pode ser associado a si mesmo.

Quando os arquivos estão acoplados, listas de engate são criados no Associator para cada arquivo a ser acoplado. Arquivo de engate é bidirecional e não hierárquico em que o acoplamento duas listas são criadas para cada relação de engate com cada lista contendo os ISNs que são acoplados a outro arquivo.

Uma vez que as listas de ligação física ter sido criado, qualquer campo de chave em qualquer arquivo pode ser usado dentro de um critério de pesquisa.

Acoplamento físico pode adicionar uma quantidade considerável de sobrecarga, se os arquivos envolvidos são atualizados com freqüência. As listas de engate deve ser atualizada se um registro em um dos arquivos é adicionado ou excluído, ou se o descritor utilizado como base para o engate é atualizado em qualquer arquivo.

Acoplamento físico pode ser útil para sistemas de recuperação de informação em que

* arquivos raramente mudam;
* a sobrecarga adicional da lista de engate é insignificante em comparação com a maior facilidade de formulação de consultas, ou
* arquivos são pequenos e principalmente de consulta orientada.


Logical or Soft Coupling

Múltiplos arquivos podem também ser consultados através da especificação do campo a ser usado para ligação entre arquivos nos critérios de pesquisa. Em seguida o Adabas executa todas as pesquisas necessárias, ler e lista interna de operações correspondentes.

Essa técnica é chamada de Logical or Soft Coupling (ligação lógica ou suave, porque não exige que os arquivos sejam fisicamente acoplados. Apesar de engate lógico requer comandos de leitura, que é normalmente mais eficiente, pois evita a sobrecarga aumento das listas de acoplamento.


Estruturação de arquivos para melhorar o desempenho

Um banco de dados Adabas com um arquivo para cada tipo de registro suporta todas as funções necessárias a aplicação ao mesmo e é mais fácil de manipular para consultas interativas, mas não pode render o melhor desempenho:

  • Conforme aumenta o número de arquivos Adabas, o número de chamadas Adabas aumenta . Cada chamada Adabas requer interpretação, validação e, em modo multiusuário, chame o supervisor (SVC) e sobrecarga os files.
  • Além da entrada / saída (I / O) operações necessárias para aceder a pelo menos um índice, conversor de endereço, e bloco de armazenamento de dados de cada arquivo, a um arquivo-por-estrutura de registro tipo requer um espaço de buffer. Se não houver espaço suficiente no buffer não estiver disponível, os blocos são substituídos que podem ser necessários para um pedido mais tarde.

O número de arquivos Adabas usado por programas crítica pode ser reduzida
usando o valor de vários campos e grupos periódicos (leia-se Campo níveis);
  • vinculando os arquivos físicos em um único arquivo (expandido) lógica;
  • incluindo mais de um tipo de registro em um arquivo Adabas;
  • incluindo registros de mais de uma categoria de usuário em um arquivo Adabas (multiclient) e
  • controlar a duplicação de dados eo uso de recursos resultantes de altura.
Arquivos Expandido

Se você tem um grande número de registros de um único tipo, você pode precisar para distribuir os registros através de vários arquivos físicos.

Para reduzir o número de arquivos acessados o Adabas permite unir vários arquivos físicos contendo registros do mesmo formato, em conjunto como um único arquivo lógico. Essa estrutura é chamada de arquivo expandido (expanded file) e os arquivos físicos que o compõem são os arquivos do componente. Um arquivo expandido pode incluir até 128 arquivos de componentes, cada um com uma gama única de ISNs lógico. Um arquivo expandido não pode exceder 4.294.967.294 registros.

Nota

O Adabas agora suporta arquivos maiores e um maior número de arquivos e bancos de dados Adabas fisicamente, a necessidade de arquivos expandidos existe, na maioria dos casos, não é muito utilizada atualmente.

Apesar de um programa de aplicação resolve o arquivo lógico (o endereço do arquivo é o número de componentes do arquivo expandido de base ou âncora de arquivo), Adabas seleciona o correto componente o arquivo com base nos dados em um campo definido como o campo de critério. Os dados neste campo tem características únicas para registros em apenas um arquivo de componente. Quando um aplicativo atualiza o arquivo expandido, Adabas olha os dados no campo critério do registro a ser gravado para determinar qual componente de arquivo para atualizar. Ao ler dados de arquivo expandido, Adabas usa o ISN lógica como a chave para encontrar o arquivo de componente correto.


Vários tipos de registros em um Único Arquivo

Vários tipos de registros pode ser definido dentro de um único registro físico, cada tipo de registro é um registro lógico composto por um subconjunto dos campos definidos para o arquivo. Os campos que não pertencem a um determinado tipo são nulos suprimidos.

Os tipos de registo podem ser identificados para Adabas por;

  • definir um campo tipo de registro com os valores para diferenciar um tipo do outro, ou
  • utilizando os valores de um campo existente para diferenciar o tipo, por exemplo, para diferenciar dois tipos, um valor de zero para um campo comum a ambos os tipos podem identificar um tipo e qualquer valor diferente de zero para o mesmo campo pode identificar o outro tipo.
Multiclient Files

Registros para vários usuários ou grupos de usuários podem ser armazenados em um arquivo Adabas único fisicamente definido como multiclient. O recurso multiclient divide o arquivo físico em múltiplos arquivos lógicos, anexando uma identificação do proprietário interna para cada registro.

A identificação do proprietário é atribuído a um ID de usuário. A identificação do usuário pode ter apenas uma identificação de proprietário, mas uma identificação do proprietário pode pertencer a mais de um usuário. Cada usuário só pode acessar o subconjunto de registros que está associado com o ID do usuário proprietário.

Nota:

Para qualquer pacote de segurança instalado externos, tais como RACF, CA-ACF2, ou CA-Top Secret, o usuário ainda é identificado por qualquer ETID no Natural ou identificação de logon.

Todos os pedidos de banco de dados para arquivos multiclient são tratadas pelo núcleo Adabas.

Controlando a redundância de dados

Redundância física aumenta os requisitos de armazenamento, mas também pode melhorar o desempenho e diminuir a complexidade. Por exemplo, se um banco de dados do cliente e armazena informações de ordem em um arquivo de clientes, encomendas e as descrições do produto em um arquivo de estoque, e um programa que gera faturas requer descrições do produto, além de dados a ordem do cliente, ele pode melhorar a performance para guardar um duplicado cópia das descrições do produto no arquivo de clientes, encomendas.

Redundância lógica também aumenta a demanda por armazenamento, enquanto diminui a complexidade. Trata-se de armazenar em um arquivo o resultado de um processo sobre os dados em outro arquivo, sendo assim, os dados duplicados está implícito no conteúdo de outro arquivo, em vez de serem armazenados fisicamente em dois lugares.

Física e lógica redundância programas de atualização motivo para correr mais devagar. As atualizações duplicado necessária quando as alterações em um arquivo afetam registros em outro arquivo pode degradar o desempenho severamente. A redundância deve ser usado apenas para dados estáticos ou dados que são atualizados raramente. Você pode controlar a redundância de dados usando o valor de vários campos, grupos periódicos e vários tipos de registros dentro de um arquivo.


Registros e Definições de Campos

No Adabas a estrutura de registro e o conteúdo de cada campo em um arquivo físico são descritos em uma Field Definition Table (definição de campo da tabela), ou FDT, que é armazenada no Associator. uma FDT para cada arquivo de banco de dados. O FDT é usado pelo Adabas durante a execução de comandos Adabas para determinar a estrutura lógica e as características de um determinado campo (ou grupo) no arquivo.

Registros estendidos, apoiados em Adabas versão 8 (ou superior), dividir um registro lógico em vários registros físicos, cada um menor que um bloco de armazenamento de dados (DS).

Estrutura dos Registros e do FDT

O FDT lista os campos do arquivo do registro físico, fornece um índice rápido para os registros do arquivo, e define os campos do arquivo, subfields, super descritores e descritores (incluindo collation descriptors, subdescriptors, superdescriptors, hyperdescriptors, e phonetic descriptors). Um mínimo de um e um máximo de 926 definições de campo pode ser especificado.

As informações sobre cada campo inclui o nível, nome, tamanho, formato, opções e de campo e atributos especiais descritor.

  FIELD DESCRIPTION TABLE

I I I I I
LEVEL I NAME I LENGTH I FORMAT I OPTIONS I PARENT OF
I I I I I
------I------I--------I--------I--------------I----------------------------I
I I I I I I
1 I AA I 8 I A I DE,UQ I I
1 I AB I I I I I
2 I AC I 20 I A I NU I I
2 I AE I 20 I A I DE I SUPERDE,PHONDE I
2 I AD I 20 I A I NU I I
1 I AF I 1 I A I FI I I
1 I AG I 1 I A I FI I I
1 I AH I 6 I U I DE I I
1 I A2 I I I I I
1 I AO I 6 I A I DE I SUBDE,SUPERDE I
1 I AQ I I I PE I I
2 I AR I 3 I A I NU I SUPERDE I
2 I AS I 5 I P I NU I SUPERDE I
1 I A3 I I I I I
2 I AU I 2 I U I I SUPERDE I
2 I AV I 2 I U I NU I SUPERDE I

A ordem
dos campos listados na FDT determina a estrutura do registro e da eficiência de recuperação. Os seguintes fatores devem ser considerados na ordenação campos:

  • Os campos que serão acessados com frequência devem ser colocados em primeiro lugar na FDT. Esta técnica reduz o tempo de CPU porque o Adabas não tem de ler o disco inteiro ao recuperar um campo.
  • Os campos que serão frequentemente acessados em conjunto deve ser atribuído a um campo do grupo.
  • Os campos que serão sempre acessados juntos deve ser definido como um único campo. Esta técnica pode inibir a compressão e uso de linguagem de consulta, no entanto, diminui o tempo de processamento mais eficiente, proporcionando o processamento interno e amortecedores formato mais curto.
  • Se for caso disso, os campos que serão frequentemente ser vazias devem ser encomendados em conjunto na FDT e configurado para usar compressão padrão ou supressão nulo.
  • Os campos numéricos devem ser carregadas no formato em que será usado com mais frequência.
Field Levels

Quando dois ou mais campos consecutivos na FDT são frequentemente acessadas em conjunto, você pode referenciá-los em conjunto, definindo um campo de grupo. Para além do seu nível e nome Adabas, um campo de grupo não tem atributos definidos. Ela precede imediatamente seus campos de membro na FDT. Um número maior nível de campo é utilizado para designar os campos de membro para o campo de grupo. Adabas suporta até sete níveis de campo. Programas de usuário podem acessar cada campo de membro, individualmente, ou todos os campos membro juntos referenciando o campo de grupo.

Field Names

Um campo é identificado com Adabas por um nome Adabas que tem dois caracteres curtos que devem começar com um caractere alfabético e pode ser seguido por um número ou uma letra (a combinação E0-E9 são reservados e caracteres especiais não são permitidos) e deve ser exclusivo dentro um arquivo. Adabas atribui nomes curtos para os campos automaticamente, embora você pode optar por atribuir-los sozinho. Adabas usa os nomes curtos internamente e, na verdade campos acessos por seus nomes curtos.

0 comentários:

Enviar um comentário