Método de acesso sequencial de índice
O Método de Acesso Sequencial ao Índice ( ISAM ) é um método de acesso desenvolvido pela IBM no final da década de 1960 para registros de dados em um arquivo que permite acesso sequencial (classificado) e aleatório ( aleatório ) baseado em índice.
Um arquivo pode ter vários índices diferentes. Cada índice define uma ordem diferente de registros, dependendo da informação que está sendo buscada. Por exemplo, um arquivo de cliente pode ser classificado em ordem alfabética de acordo com o sobrenome ou numericamente de acordo com o código postal, desde que existam os índices correspondentes.
O método de acesso sequencial de índice, que também é usado em sistemas de banco de dados , permite que a velocidade de acesso seja otimizada em função da tarefa. Desde os primeiros padrões COBOL por volta de 1970, o ISAM tem sido parte do padrão da linguagem COBOL no parágrafo de controle de arquivo . Um dos primeiros desenvolvimentos do ISAM, também da IBM, mas não padronizado, é o Virtual Storage Access Method (VSAM).
Estrutura de armazenamento
Os registros de dados são agrupados em blocos ou páginas. Um índice simples se refere à chave mais baixa de um bloco de dados no arquivo principal, que é classificado em ordem crescente. Um arquivo de índice simples e de nível único consiste em entradas de índice que se referem a blocos de dados no arquivo principal. Como regra, o índice é multinível, com os níveis do índice, por sua vez, organizados em sequência de índice.
- Pesquisar em um arquivo ISAM: Pesquise a chave sequencialmente no arquivo de índice até que seja encontrada ou o índice seja maior do que a chave que você está procurando. No segundo caso, com um índice multinível, agora é conhecido em qual página do índice a chave procurada pode estar. O processo de busca continua lá até que a chave seja encontrada ou não encontrada.
- Inserção : primeiro pesquise , depois verifique se a nova frase cabe na página. Em caso afirmativo, insira classificado, caso contrário, insira um novo registro na próxima página ou página de estouro e páginas de índice de atualização.
- Excluir : primeiro pesquise e depois marque a frase como excluída . Se foi a primeira frase da página ou se a página agora está em branco, ajuste as páginas de índice.
Uma desvantagem da organização do arquivo ISAM pode ser vista nas operações de inserção e exclusão. O arquivo principal e o índice são estáticos, novos registros são frequentemente armazenados em blocos de estouro e isso retarda as pesquisas. Os arquivos que crescem ou mudam rapidamente devem, portanto, ser reorganizados regularmente, o que é demorado.
Método 2
O método acima não é usado há muito tempo. A sucessão era um método baseado na estrutura de árvore / folha. Isso possibilitou determinar por meio de algumas comparações onde a frase pesquisada estava ou deveria ser inserida.
Estrutura da chave do arquivo Isam (índice).
***************************************************************** * BLATT-NR * VATER * ***************************************************************** * * * BLATTINHALT (KEY) * * * ***************************************************************** * LINKER SOHN * RECHTER SOHN * *****************************************************************
Primeira entrada no início do arquivo ( raiz ).
Exemplo COBOL
A imagem mostra a seção de controle de arquivo para um arquivo ISAM um moderno COBOL - compilador :
- SELECIONE ... ATRIBUIR A: Atribuição do nome do arquivo externo ao nome do arquivo interno
- COM COMPRESSÃO | COM ENCRIPTAÇÃO: opcionalmente com compressão ou criptografia
- ORGANIZAÇÃO É INDEXADA
- O MODO DE ACESSO É SEQUENCIAL | RANDOM | DYNAMIC: alternativamente um dos três métodos de acesso. Sequencialmente, por índice ou ambos, ou seja, H. vezes via índice, sequencialmente a partir deste ponto de partida e vice-versa.
- A CHAVE DE GRAVAÇÃO É o nome-chave [= nome do segmento ...] [COM [SEM] DUPLICADOS]] ...: A chave (primária) pode consistir em vários segmentos, i. H. campos individuais do registro de dados, chaves duplicadas podem ser permitidas. Os campos, dos quais apenas algumas partes podem ser usadas como índice (parcial), são - como de costume em COBOL - a serem definidos na DESCRIÇÃO DO ARQUIVO.
- ALTERNATER RECORD KEY IS ...: outros índices podem ser definidos.
- O MODO DE BLOQUEIO É EXCLUSIVO | AUTOMÁTICO | MANUAL ...:
- RESERVAR {número} ÁREA ALTERNATIVA:
- SEQUÊNCIA DE COLLAÇÃO IS nome do alfabeto:
ISAM hoje
"Os arquivos ISAM ainda são usados hoje, principalmente sempre que o uso de um banco de dados relacional não vale a pena (volume de dados, estrutura, desempenho, custos, etc.)." Provavelmente, ainda há mais dados armazenados em arquivos ISAM do que em bancos de dados relacionais. Não se trata apenas de dados de ambientes COBOL, mas especialmente em UNIX, o método de acesso sequencial de índice foi amplamente utilizado durante a transição de mainframe para sistemas UNIX, graças à implementação de C-ISAM pelo Informix . Baseado no ISAM, também foi desenvolvido o sistema de banco de dados MyISAM , que é implementado no sistema de gerenciamento de banco de dados MySQL amplamente utilizado . Além disso, o Extensible Storage Engine (ESE, também conhecido como Jet Blue ) da Microsoft é baseado no ISAM. O ESE serve (e) z. B. como um banco de dados para o Microsoft Active Directory e Exchange .
Links da web
- Manual de programação C-ISAM (inglês; PDF; 2,07 MB)
- O mecanismo de armazenamento MyISAM como parte do MySQL