IBM Information Management System - IBM Information Management System

IBM Information Management System
IBM logo.svg
lançamento inicial 1966 ; 55 anos atrás  ( 1966 )
Versão estável
15/3 de outubro de 2017 ; 3 anos atrás  ( 03/10/2017 )
Sistema operacional z / OS V2.2 ou posterior
Plataforma IBM System z
Modelo Banco de dados e subsistema de processamento de transações
Licença proprietário
Local na rede Internet www .ibm .com / software / data / ims / index .html

O IBM Information Management System ( IMS ) é um banco de dados hierárquico conjunto e um sistema de gerenciamento de informações que suporta o processamento de transações .

História

A IBM projetou o IMS com Rockwell e Caterpillar a partir de 1966 para o programa Apollo , onde foi usado para inventariar uma grande lista de materiais (BOM) para o foguete lunar Saturn V e o veículo espacial Apollo.

A primeira mensagem "IMS READY" apareceu em um terminal IBM 2740 em Downey, Califórnia , em 14 de agosto de 1968. Nesse período, o IMS passou por muitos desenvolvimentos conforme a tecnologia IBM System / 360 evoluiu para o atual z / OS e IBM zEnterprise Tecnologias do sistema . Por exemplo, o IMS agora suporta a linguagem de programação Java , JDBC , XML e, desde o final de 2005, serviços da web .

Vern Watts foi o arquiteto-chefe da IMS por muitos anos. Watts ingressou na IBM em 1956 e trabalhou nos laboratórios de desenvolvimento do Vale do Silício da IBM até sua morte em 4 de abril de 2009. Ele trabalhou continuamente em IMS desde 1960.

Base de dados

O componente IMS Database armazena dados usando um modelo hierárquico , que é bastante diferente do banco de dados relacional lançado posteriormente pela IBM , Db2 . No IMS, o modelo hierárquico é implementado usando blocos de dados conhecidos como segmentos. Cada segmento pode conter vários dados, que são chamados de campos. Por exemplo, um banco de dados de cliente pode ter um segmento raiz (ou o segmento no topo da hierarquia) com campos como telefone, nome e idade. Segmentos filhos podem ser adicionados abaixo de outro segmento, por exemplo, um segmento de pedido em cada segmento de cliente, representando cada pedido que um cliente fez a uma empresa. Da mesma forma, cada segmento de pedido pode ter muitos segmentos filhos para cada item no pedido. Ao contrário de outros bancos de dados, você não precisa definir todos os dados em um segmento para IMS. Um segmento pode ser definido com um tamanho de 40 bytes, mas defina apenas um campo de seis bytes como um campo-chave que você pode usar para encontrar o segmento ao realizar consultas. O IMS recuperará e salvará todos os 40 bytes conforme direcionado por um programa, mas pode não entender (ou se importar) com o que os outros bytes representam. Na prática, geralmente todos os dados em um segmento podem ser mapeados para um copybook COBOL . Além do uso de consulta DL / I , um campo pode ser definido no IMS para que os dados possam ser ocultados de certos aplicativos por motivos de segurança. O componente de banco de dados do IMS pode ser adquirido de forma independente, sem o componente do gerenciador de transações, e usado por sistemas como o CICS .

Existem três formas básicas de bancos de dados hierárquicos IMS:

Bancos de dados "Full Function"

  • Descendo diretamente dos bancos de dados Data Language Interface (DL / I) desenvolvidos originalmente para Apollo, os bancos de dados de função completa podem ter índices primários e secundários, acessados ​​usando chamadas DL / I de um programa de aplicativo, como chamadas SQL para Db2 ou Oracle .
  • Bancos de dados de função completa podem ser acessados ​​por uma variedade de métodos, embora Hierarchical Direct (HDAM) e Hierarchical Indexed Direct ( HIDAM ) dominem. Os outros formatos são Simple Hierarchical Indexed Sequential ( SHISAM ), Hierarchical Indexed Sequential ( HSAM ) e Hierarchical Indexed Sequential ( HISAM ).
  • Os bancos de dados de função completa armazenam dados usando VSAM , um método de acesso z / OS nativo ou Overflow Sequential (OSAM), um método de acesso específico de IMS que otimiza o programa de canal de I / O para padrões de acesso IMS. Em particular, o desempenho do OSAM se beneficia do acesso sequencial dos bancos de dados IMS (buffer sequencial do OSAM).

Bancos de dados "Fast Path"

  • Os bancos de dados Fast Path são otimizados para taxas de transação extremamente altas. Bancos de dados de entrada de dados (DEDBs) e bancos de dados de armazenamento principal (MSDBs) são os dois tipos de bancos de dados Fast Path. DEDBs usam uma técnica de acesso direto (randomizador) semelhante a Full Function HDAM e IMS V12 forneceu uma função de índice secundário DEDB. MSDBs não suportam indexação secundária. Os DEDBs da opção de armazenamento virtual (VSO) podem substituir os MSDBs em versões modernas do IMS, portanto, os MSDBs estão desaparecendo gradualmente.

O desempenho do DEDB vem do uso do método de acesso de alto desempenho (Media Manager), gravação assíncrona após confirmação e caminhos de código otimizados. O registro é minimizado porque nenhum dado é atualizado no disco até a confirmação, então o registro UNDO (antes da imagem) não é necessário, nem uma função de restauração. As alterações não confirmadas podem simplesmente ser descartadas. A partir do IMS Versão 11, os DEDBs podem usar armazenamento z / OS de 64 bits para buffers de banco de dados. A arquitetura de DEDBs inclui um conceito de Unidade de Trabalho (UOW) que simplificou a implementação de um utilitário de reorganização online eficaz. Esta função está incluída no produto base.

Bancos de dados grandes de alta disponibilidade (HALDBs)

  • O IMS V7 introduziu o HALDBs, uma extensão dos bancos de dados de função completa do IMS para fornecer melhor disponibilidade, melhor manuseio de volumes de dados extremamente grandes e, com o IMS V9, reorganização online para oferecer suporte à disponibilidade contínua. (Ferramentas de terceiros fornecidas exclusivamente para reorganização online antes do IMS V9.) Um HALDB pode armazenar mais de 40 terabytes de dados.

DEDBs de caminho rápido só podem ser construídos sobre VSAM. Os bancos de dados DL / I podem ser construídos sobre VSAM ou OSAM, com algumas restrições dependendo da organização do banco de dados. Embora o tamanho máximo de um conjunto de dados VSAM z / OS tenha aumentado para 128 TB há alguns anos, o IMS ainda limita um conjunto de dados VSAM a 4 GB (e OSAM a 8 GB). Essa "limitação" significa simplesmente que os clientes IMS usarão vários conjuntos de dados para grandes quantidades de dados. VSAM e OSAM são geralmente referidos como os métodos de acesso, e a visão "lógica" do IMS do banco de dados é referida como a "organização" do banco de dados (HDAM, HIDAM, HISAM, etc.) Internamente, os dados são vinculados usando 4 bytes ponteiros ou endereços. Nos conjuntos de dados do banco de dados (DBDSs), os ponteiros são chamados de RBAs (endereços de bytes relativos).

Coletivamente, os recursos do IMS relacionados ao banco de dados costumam ser chamados de IMS DB . O IMS DB cresceu e evoluiu ao longo de quase quatro décadas para oferecer suporte a uma infinidade de necessidades de negócios. O IMS, com assistência de hardware z / OS - o Coupling Facility - suporta compartilhamento de bancos de dados entre IMS de N-way. Muitas configurações grandes envolvem vários sistemas IMS gerenciando bancos de dados comuns, uma técnica que fornece crescimento escalonável e redundância do sistema no caso de falhas de hardware ou software.

Gerente de Transação

O IMS também é um gerenciador de transações robusto ( IMS TM , também conhecido como IMS DC) - um dos "três grandes" gerenciadores de transações clássicos junto com o CICS e o BEA (agora Oracle) Tuxedo . Um gerenciador de transações interage com um usuário final (conectado por meio de VTAM ou TCP / IP , incluindo 3270 e interfaces de usuário da Web ) ou outro aplicativo, processa uma função de negócios (como uma retirada de conta bancária) e mantém o estado durante todo o processo, garantindo se o sistema registra a função de negócios corretamente em um armazenamento de dados. Portanto, o IMS TM é como um aplicativo da Web, operando por meio de um programa CGI (por exemplo), para fornecer uma interface para consultar ou atualizar um banco de dados. IMS TM normalmente usa IMS DB ou Db2 como seu banco de dados backend. Quando usado sozinho com o Db2, o componente IMS TM pode ser adquirido sem o componente IMS DB.

O IMS TM usa um paradigma de mensagens e enfileiramento. Um programa de controle IMS recebe uma transação inserida de um terminal (ou navegador da Web ou outro aplicativo) e, em seguida, armazena a transação em uma fila de mensagens (na memória ou em um conjunto de dados). O IMS então chama seu planejador na transação enfileirada para iniciar o programa de aplicativo de negócios em uma região de processamento de mensagens. A região de processamento de mensagens recupera a transação da fila de mensagens IMS e a processa, lendo e atualizando os bancos de dados IMS e / ou Db2, garantindo o registro adequado da transação. Em seguida, se necessário, o IMS enfileira uma mensagem de resposta de volta na fila de mensagens do IMS. Assim que a mensagem de saída estiver completa e disponível, o programa de controle IMS a envia de volta ao terminal de origem. O IMS TM pode lidar com todo esse processo milhares (ou até dezenas de milhares) de vezes por segundo. Em 2013, a IBM concluiu um benchmark no IMS Versão 13, demonstrando a capacidade de processar 100.000 transações por segundo em um único sistema IMS.

Aplicativo

Antes do IMS, as empresas e os governos tinham que escrever seus próprios ambientes de processamento de transações. O IMS TM fornece um ambiente padrão simples, fácil de usar e confiável para a execução de transações de alto desempenho. Na verdade, grande parte do setor bancário mundial depende do IMS, incluindo o Federal Reserve dos EUA . Por exemplo, é provável que retirar dinheiro de um caixa eletrônico (ATM) acione uma transação IMS. Vários bancos chineses adquiriram recentemente a IMS para apoiar o florescente setor financeiro daquele país.

Hoje, o IMS complementa o Db2 , o sistema de banco de dados relacional da IBM , introduzido em 1982. Em geral, o IMS é executado mais rápido do que o Db2 para as tarefas comuns, mas pode exigir mais esforço de programação para projetar e manter para tarefas não primárias. Os bancos de dados relacionais geralmente provaram ser superiores nos casos em que os requisitos, especialmente os de relatórios, mudam com frequência ou exigem uma variedade de "ângulos" de ponto de vista fora da função principal ou original.

Um " data warehouse " relacional pode ser usado para complementar um banco de dados IMS. Por exemplo, o IMS pode fornecer transações ATM primárias porque tem um bom desempenho para uma tarefa específica. No entanto, cópias noturnas dos dados IMS podem ser copiadas para sistemas relacionais de forma que uma variedade de relatórios e tarefas de processamento possam ser executadas nos dados. Isso permite que cada tipo de banco de dados se concentre melhor em sua força relativa.

Veja também

Referências

links externos