Abaixo mostra a estrutura de funcionamento do Adabas.
O núcleo do banco de dados Adabas e a entrada/saída (I/O) e os buffer são carregados na memória principal durante a inicialização. O núcleo é um conjunto de programas que controla, coordena todo o trabalho, e traduz as declarações do programa do usuário em comandos Adabas. Todos os programas de acesso a arquivos Adabas através do núcleo. Todas as atividades do banco de dados, como acesso a dados e atualização são gerenciados pelo núcleo Adabas. Na maioria dos casos, um único núcleo é usado para gerenciar um banco de dados físicos.
O núcleo Adabas gerencia todas as atividades de banco de dados, como por exemplo de leitura/gravação. Os utilitários Adabas são usados para executar as funções do serviço de banco de dados, por exemplo, loading/deleting. Um programa do usuário chama o núcleo Adabas para realizar o leitura/gravação. Para controlar o ambiente Adabas, o administrador do banco pode usar a opção Adabas Online System ou o utilitário ADADBS.
Adabas é projetado em torno de uma estrutura de dois processos, sendo assim o núcleo Adabas executa em uma partição separada do sistema operacional da aplicação ou o utilitário Adabas. O núcleo Adabas gerencia todas as atividades de banco de dados e serve todos os processos do usuário de forma centralizada. O número de usuários que pode ser servido em paralelo é ilimitado e é tipicamente muitos milhares de usuários.
Normalmente um núcleo Adabas gerencia um banco de dados Adabas, embora seja possível, por razões de transferência para Adabas múltiplos núcleos para gerenciar um banco de dados Adabas, este inclui também o ambiente IBM Sysplex.
Para ser capaz de suportar milhares de usuários em paralelo e proporcionam tempos de resposta milisegundos o Adabas apoia a sua própria arquitetura interna multi-threading. Isso permite que o núcleo Adabas possa suportar um número ilimitado de leitura e gravação de tarefas simultaneamente. Quando uma solicitação do usuário não podem ser cumprida de imediato, porque ele deve esperar por recursos, por exemplo deve esperar por uma operação de E/S seja concluída, e depois outra solicitação do usuário será atendido.
Novos aumentos no desempenho é alcançada no subsistema de I/O, com as seguintes técnicas:
- Os dados (Data Storage e do Associador) são compactados; - asynchronous buffer flushing - buffer de algoritmos de busca baseados em algoritmos de hash
A compressão de dados reduz o volume de dados por cerca de 50%. Isto significa que a cada operação de I/O duas vezes mais dados são transferidos e apenas metade do espaço está ocupado na I/O buffer. Índice de compressão pode reduzir o índice de dados em até 70% e resulta em economia semelhante. O buffer assíncrono flush permite ao Adabas possa continuar a atualização dos dados.
O algoritmo de hash usado pelo I/O buffer de resultados em tempos de busca de igualdade, independentemente do tamanho do buffer. Assim como aumentar os volumes de dados e de I/O tamanho do buffer é aumentado, não há um aumento correspondente do tempo de busca.
Como funciona a leitura dos dados no Adabas
Os blocos físicos de um componente do banco de dados cada um será atribuído um número começando com 1. Estes números são chamados de Relative Adabas Block Numbers (RABNs). O RABN é usado na identificação e endereçamento dos blocos de um componente de dados.
Dentro de arquivo é composto de uma série de RABNs (não necessariamente uma contíguas). Cada RABN contém um ou mais registros Adabas e cada registro contém um ou mais campos. Um registro Adabas pode representar uma estrutura de dois dados dimensionais ou pode ser projetado para representar um tabelas aninhadas ou seja, relacional estrutura dentro de tabelas. Do ponto de vista lógico, existem dois ou mais arquivos, mas fisicamente eles serão recuperados juntos. Isto leva a uma redução significativa no número de operações I/O necessário para recuperar dados.
Modos de Operação
O Adabas suporta dois tipos de modos de operação: Single-user e Multiuser
Single-user - O modo monousuário está em vigor quando um programa do usuário (ou utilitário Adabas) é executado na mesma partição/região do núcleo Adabas. Para o modo single-user, o JCL núcleo Adabas adequadas devem ser incluídos com o controle do trabalho para o programa utilitário ou usuário.
No Adabas as facilidades triggers e Stored Procedures são partes integrantes do Adabas, pode ser usado com Natural para escrever e gerenciar triggers e procedures armazenados no ambiente do banco Adabas. Triggers são sistematicamente os programas utilizados que são iniciados automaticamente com base em um evento, pois eles podem ser utilizados para garantir a integridade referencial, por instancia, Stored procedures são programas usados por um número diferente de clientes que são executadas pelo Adabas como resultado de um usuário especial. Armazenar esses programas em um file Adabas reduz a quantidade de tráfego de dados no servidor.
Parâmetros de inicialização ADARUN
A declaração de controle ADARUN define e inicializa o ambiente operacional do Adabas. A declaração de controle ADARUN também começa utilitários Adabas. ADARUN carrega o módulo ADAIOR, que realiza todos os banco de dados I / O e outras funções operacionais dependentes do sistema; interpreta as declarações de parâmetro ADARUN, em seguida, carrega e modifica o núcleo Adabas adequado ou utilitário módulos de acordo com os parâmetros ADARUN e transfere o controle para Adabas. A declaração ADARUN, normalmente uma série de entradas cada um especificando um ou mais parâmetros ADARUN, é especificado no DDCARD (z / OS ou BS2000) ou cartão (VSE) conjunto de dados.
Como acessar os dados do banco
Os dados do banco são chamados usando um programa que o usuário criou que pode ser online ou batch em:
Natural - O programa que o desenvolvedor escreveu na linguagem do Natural acessa banco de dados Adabas, recupera os dados e devolve a aplicação cliente, executando o caminho inverso.
Assembler, ou uma linguagem de programação de terceira geração, tais como FORTRAN, COBOL ou PL / I (REXX/VSE intérprete de linguagem também é suportado), que utiliza a interface de chamada poderosa e flexível Adabas direta. Cada chamada Adabas é acompanhado por uma lista de parâmetros de identificação de buffers definidos no programa do usuário que são usadas para transferir informações para e Adabas. Se a transação for do tipo long-running, o núcleo do Natural não é liberado, e fica aguardando uma nova requisição, evitando com isto o overhead do novo start do Núcleo Natural, conforme dito anteriormente.
Memoria de CPU Arquivos nos Discos
+-----------------------------------------------+ +-------------------+
| | | |
| +-----------------------------------------------------+
| | +----------------------+ +-----------------+ |
| +----------------------+ | | | | | |
| | Utilitarios Adabas | | | Nucleo Adabas | | Work Area | |
| +----------------------+ | | | | | |
| |Programas dos Usuários| <-+-> +----------------------+ +-----------------+ |
| +----------------------+ | | | | | |
| | Monitor de TP | | | I/O Buffer | | Associador | |
| +----------------------+ | | | | | |
| | +----------------------+ +-----------------+ |
| | | | | | |
| | | Theads | | Data Storage | |
| | | | | | |
| | +----------------------+ +-----------------+ |
| +-----------------+-----------------------------------+
| |
+-----------------------------------------------+
Núcleo de I/O Buffer e Threads
O núcleo do banco de dados Adabas e a entrada/saída (I/O) e os buffer são carregados na memória principal durante a inicialização. O núcleo é um conjunto de programas que controla, coordena todo o trabalho, e traduz as declarações do programa do usuário em comandos Adabas. Todos os programas de acesso a arquivos Adabas através do núcleo. Todas as atividades do banco de dados, como acesso a dados e atualização são gerenciados pelo núcleo Adabas. Na maioria dos casos, um único núcleo é usado para gerenciar um banco de dados físicos.
O núcleo Adabas gerencia todas as atividades de banco de dados, como por exemplo de leitura/gravação. Os utilitários Adabas são usados para executar as funções do serviço de banco de dados, por exemplo, loading/deleting. Um programa do usuário chama o núcleo Adabas para realizar o leitura/gravação. Para controlar o ambiente Adabas, o administrador do banco pode usar a opção Adabas Online System ou o utilitário ADADBS.
Adabas é projetado em torno de uma estrutura de dois processos, sendo assim o núcleo Adabas executa em uma partição separada do sistema operacional da aplicação ou o utilitário Adabas. O núcleo Adabas gerencia todas as atividades de banco de dados e serve todos os processos do usuário de forma centralizada. O número de usuários que pode ser servido em paralelo é ilimitado e é tipicamente muitos milhares de usuários.
Normalmente um núcleo Adabas gerencia um banco de dados Adabas, embora seja possível, por razões de transferência para Adabas múltiplos núcleos para gerenciar um banco de dados Adabas, este inclui também o ambiente IBM Sysplex.
Para ser capaz de suportar milhares de usuários em paralelo e proporcionam tempos de resposta milisegundos o Adabas apoia a sua própria arquitetura interna multi-threading. Isso permite que o núcleo Adabas possa suportar um número ilimitado de leitura e gravação de tarefas simultaneamente. Quando uma solicitação do usuário não podem ser cumprida de imediato, porque ele deve esperar por recursos, por exemplo deve esperar por uma operação de E/S seja concluída, e depois outra solicitação do usuário será atendido.
Novos aumentos no desempenho é alcançada no subsistema de I/O, com as seguintes técnicas:
- Os dados (Data Storage e do Associador) são compactados; - asynchronous buffer flushing - buffer de algoritmos de busca baseados em algoritmos de hash
A compressão de dados reduz o volume de dados por cerca de 50%. Isto significa que a cada operação de I/O duas vezes mais dados são transferidos e apenas metade do espaço está ocupado na I/O buffer. Índice de compressão pode reduzir o índice de dados em até 70% e resulta em economia semelhante. O buffer assíncrono flush permite ao Adabas possa continuar a atualização dos dados.
O algoritmo de hash usado pelo I/O buffer de resultados em tempos de busca de igualdade, independentemente do tamanho do buffer. Assim como aumentar os volumes de dados e de I/O tamanho do buffer é aumentado, não há um aumento correspondente do tempo de busca.
Como funciona a leitura dos dados no Adabas
Os blocos físicos de um componente do banco de dados cada um será atribuído um número começando com 1. Estes números são chamados de Relative Adabas Block Numbers (RABNs). O RABN é usado na identificação e endereçamento dos blocos de um componente de dados.
Dentro de arquivo é composto de uma série de RABNs (não necessariamente uma contíguas). Cada RABN contém um ou mais registros Adabas e cada registro contém um ou mais campos. Um registro Adabas pode representar uma estrutura de dois dados dimensionais ou pode ser projetado para representar um tabelas aninhadas ou seja, relacional estrutura dentro de tabelas. Do ponto de vista lógico, existem dois ou mais arquivos, mas fisicamente eles serão recuperados juntos. Isto leva a uma redução significativa no número de operações I/O necessário para recuperar dados.
Modos de Operação
O Adabas suporta dois tipos de modos de operação: Single-user e Multiuser
Single-user - O modo monousuário está em vigor quando um programa do usuário (ou utilitário Adabas) é executado na mesma partição/região do núcleo Adabas. Para o modo single-user, o JCL núcleo Adabas adequadas devem ser incluídos com o controle do trabalho para o programa utilitário ou usuário.
+-----------------------+
| +-------+
| Banco Adabas | | +-----------------------+
| +----+ | | |
+-----------------------+ | +-----+ Associator |
| Thead1 | | | |
+-----------------------+ | +-----------------------+
| Programa do usuário | |
|ou um utilitario Adabas| | +-----------------------+
+-----------------------+ | | |
| | +--------+ Data Storage |
+-----------------------+ | |
+-----------------------+
Multiuser - O modo multiusuário é quando o núcleo Adabas está liberado para todos os usuários do banco de dados. É o mais eficiente e, portanto, o modo recomendado de operação. Ao utilizar Adabas em modo multiusuário, a comunicação é tratada pelo interregion do Adabas de uma maneira que aproveita melhor as facilidades de comunicação oferecidas pelos sistemas operacionais diferentes.
+-----------------------+ +-----------------------+ +-----------------------+
| Programa do usuário 1 | | +-------+ |
+-----------------------+ | Adabas | | ASSOCIATOR |
| +---+ | |
+-----------------------+ +-----------------------+ | +-----------------------+
| Utilitario Adabas | | | |
+-----------------------+ | Adabas Buffer | |
| | | +-----------------------+
+-----------------------+ +-----------------------+ | | |
| Programa do usuário 1 | | Thread 1 | +---+ DATA STORAGE |
+-----------------------+ +-----------------------+ | |
| Thread 2 | +-----------------------+
+-----------------------+ +-----------------------+
| Programa do usuário 2 | | Thread 3 |
+-----------------------+ +-----------------------+
| . |
+-----------------------+ | . |
| Programa do usuário 3 | +-----------------------+
+-----------------------+ | Thread N |
+-----------------------+
O núcleo Adabas e cada programa de usuário ou utilitário são executados em uma área de armazenamento separada definido pelo sistema operacional:
+---------------------+------------------------------------------+
| Sistema Operacional | Storage Area Name |
+---------------------+------------------------------------------+
| BS2000 | Task |
+---------------------+------------------------------------------+
| z/OS | Address space / Data Space / Hiperspace |
+---------------------+------------------------------------------+
| z/VM | Virtual Machine |
+---------------------+------------------------------------------+
| VSE | Partition / Address space / Data Space |
+---------------------+------------------------------------------+
Triggers e Stored Procedures
No Adabas as facilidades triggers e Stored Procedures são partes integrantes do Adabas, pode ser usado com Natural para escrever e gerenciar triggers e procedures armazenados no ambiente do banco Adabas. Triggers são sistematicamente os programas utilizados que são iniciados automaticamente com base em um evento, pois eles podem ser utilizados para garantir a integridade referencial, por instancia, Stored procedures são programas usados por um número diferente de clientes que são executadas pelo Adabas como resultado de um usuário especial. Armazenar esses programas em um file Adabas reduz a quantidade de tráfego de dados no servidor.
Parâmetros de inicialização ADARUN
A declaração de controle ADARUN define e inicializa o ambiente operacional do Adabas. A declaração de controle ADARUN também começa utilitários Adabas. ADARUN carrega o módulo ADAIOR, que realiza todos os banco de dados I / O e outras funções operacionais dependentes do sistema; interpreta as declarações de parâmetro ADARUN, em seguida, carrega e modifica o núcleo Adabas adequado ou utilitário módulos de acordo com os parâmetros ADARUN e transfere o controle para Adabas. A declaração ADARUN, normalmente uma série de entradas cada um especificando um ou mais parâmetros ADARUN, é especificado no DDCARD (z / OS ou BS2000) ou cartão (VSE) conjunto de dados.
Como acessar os dados do banco
Os dados do banco são chamados usando um programa que o usuário criou que pode ser online ou batch em:
Natural - O programa que o desenvolvedor escreveu na linguagem do Natural acessa banco de dados Adabas, recupera os dados e devolve a aplicação cliente, executando o caminho inverso.
Assembler, ou uma linguagem de programação de terceira geração, tais como FORTRAN, COBOL ou PL / I (REXX/VSE intérprete de linguagem também é suportado), que utiliza a interface de chamada poderosa e flexível Adabas direta. Cada chamada Adabas é acompanhado por uma lista de parâmetros de identificação de buffers definidos no programa do usuário que são usadas para transferir informações para e Adabas. Se a transação for do tipo long-running, o núcleo do Natural não é liberado, e fica aguardando uma nova requisição, evitando com isto o overhead do novo start do Núcleo Natural, conforme dito anteriormente.
0 comentários:
Enviar um comentário