☕ Um Café no Bellacosa Mainframe
Gostou do conteúdo? Ajude a manter o café quente, o COBOL compilando e o mainframe acordado. 😄
☕ Pague um café ao Bellacosa

Translate

Mostrar mensagens com a etiqueta IDMS. Mostrar todas as mensagens
Mostrar mensagens com a etiqueta IDMS. Mostrar todas as mensagens

quinta-feira, 10 de maio de 2007

O que é o banco de dados IDMS?

 

Bellacosa Mainframe o que é um banco de dados idms

O que é o banco de dados IDMS?

Se você trabalha ou pretende trabalhar com Mainframe, provavelmente ouvirá falar de Db2, IMS e, em empresas mais antigas, do IDMS.

Embora hoje o Db2 seja muito mais difundido, o IDMS (Integrated Database Management System) continua presente em diversas organizações que executam aplicações críticas desenvolvidas há décadas.


Definição simples

O IDMS é um Sistema Gerenciador de Banco de Dados (SGBD) criado originalmente pela Cullinane Corporation no início da década de 1970, posteriormente adquirido pela Computer Associates (CA Technologies) e hoje pertencente à Broadcom.

Ele foi projetado para computadores de grande porte (mainframes) e utiliza principalmente o modelo de banco de dados em rede (Network Database Model), padronizado pelo grupo CODASYL.

Em resumo:

IDMS é um banco de dados de alta performance para Mainframes baseado no modelo em rede, muito utilizado antes da popularização dos bancos relacionais.


Origem do nome

IDMS significa:

Integrated Database Management System

Ou seja:

Sistema Integrado de Gerenciamento de Banco de Dados.


Um pouco de história

Na década de 1970 praticamente não existiam bancos relacionais comerciais.

Os principais modelos eram:

  • Hierárquico (IMS)

  • Em Rede (IDMS)

  • Arquivos Sequenciais

  • VSAM

O IDMS rapidamente tornou-se um dos bancos mais utilizados em ambientes corporativos.

Era comum encontrá-lo em:

  • bancos;

  • seguradoras;

  • governos;

  • telecomunicações;

  • indústrias.


A empresa responsável

Linha do tempo:

1972

Cullinane Corporation

Cullinet Software

Computer Associates (CA)

CA Technologies

Broadcom

Mesmo após diversas aquisições, o produto continua sendo mantido.


O modelo em rede (Network Database)

O IDMS não é relacional.

Ele utiliza registros ligados diretamente entre si.

Imagine uma árvore genealógica onde uma pessoa pode possuir vários relacionamentos simultaneamente.

Exemplo:

CLIENTE
    │
    ├────────CONTA
    │
    ├────────EMPRÉSTIMO
    │
    └────────CARTÃO

Cada registro conhece diretamente seus relacionamentos.

Não existe JOIN como no SQL tradicional.


Como funciona

O programador navega pelo banco.

Em vez de perguntar:

SELECT *
FROM CLIENTE
JOIN CONTA

Ele faz algo parecido com:

Encontrar CLIENTE

↓

Ir para CONTA

↓

Ir para CARTÃO

↓

Ir para EMPRÉSTIMO

É chamada de navegação por ponteiros.


O conceito de SET

A estrutura principal do IDMS chama-se SET.

Um SET representa um relacionamento.

Exemplo:

CLIENTE

↓

SET

↓

CONTA

Ou

DEPARTAMENTO

↓

SET

↓

FUNCIONÁRIO

OWNER e MEMBER

Cada relacionamento possui:

OWNER

Registro principal.

MEMBER

Registro dependente.

Exemplo:

CLIENTE (OWNER)

↓

CONTA (MEMBER)

Banco orientado a navegação

O IDMS não procura dados como um banco SQL moderno.

Ele percorre caminhos previamente definidos.

CLIENTE

↓

CONTA

↓

MOVIMENTO

↓

LANÇAMENTO

Por isso era extremamente rápido.


Linguagens utilizadas

O IDMS possui integração com:

  • COBOL

  • PL/I

  • Assembler

  • C

O COBOL foi, de longe, a linguagem mais utilizada.


DML do IDMS

Em vez de SQL, o programador utiliza comandos específicos.

Exemplos:

  • FIND

  • GET

  • STORE

  • MODIFY

  • ERASE

  • CONNECT

  • DISCONNECT


Exemplo

Em COBOL:

FIND CLIENTE

↓

GET CONTA

↓

MODIFY CONTA

SQL existe?

Sim.

Versões modernas possuem suporte SQL.

Mas milhares de aplicações continuam usando a DML tradicional.


Estrutura física

O banco é dividido em:

  • Área (Area)

  • Página (Page)

  • Registro (Record)

  • Set

  • Segmentos

Tudo cuidadosamente organizado para reduzir acesso a disco.


Vantagens

Performance

Extremamente rápida.


Pouco espaço

Muito eficiente.


Alta estabilidade

Muitas bases funcionam há décadas.


Grande escalabilidade

Milhões de registros.


Excelente integração com COBOL

Foi desenvolvido pensando nisso.


Desvantagens

Curva de aprendizado

Maior que SQL.


Navegação complexa

Exige conhecer o modelo.


Poucos profissionais

Hoje existem poucos especialistas.


Menor flexibilidade

Mudanças estruturais costumam ser mais trabalhosas.


Onde ainda é utilizado?

Ainda pode ser encontrado em:

  • bancos;

  • seguradoras;

  • previdência;

  • órgãos públicos;

  • sistemas fiscais;

  • empresas de telecomunicações.

Principalmente em aplicações desenvolvidas entre os anos 1970 e 1990.


IDMS x IMS

IDMSIMS
RedeHierárquico
CODASYLIBM
PonteirosHierarquia
Mais flexívelMais rígido

IDMS x Db2

IDMSDb2
RedeRelacional
NavegaçãoSQL
SETJOIN
PonteirosÍndices

Curiosidades

1. O IDMS ajudou a popularizar o modelo CODASYL

Antes do domínio dos bancos relacionais, o padrão CODASYL era amplamente adotado para aplicações corporativas de alto desempenho, e o IDMS tornou-se sua implementação comercial mais conhecida.


2. Muitas empresas ainda executam aplicações IDMS

Apesar da idade da tecnologia, existem sistemas que processam operações críticas diariamente, especialmente em grandes organizações que investem em estabilidade e continuidade.


3. O desempenho sempre foi um diferencial

Como os relacionamentos são feitos por ponteiros, muitas operações de navegação podem ser extremamente rápidas, sem a necessidade de realizar junções complexas entre tabelas.


4. Modernização sem substituição

Em diversas empresas, aplicações COBOL que utilizam IDMS vêm sendo modernizadas por meio de APIs e integrações, mantendo o banco de dados em produção enquanto novas interfaces são desenvolvidas.


Erros comuns de iniciantes

"IDMS é um banco relacional"

Não. Seu modelo principal é o banco de dados em rede (Network Database) baseado no padrão CODASYL.


"Ele foi substituído completamente pelo Db2"

Embora muitas organizações tenham migrado para bancos relacionais, ainda existem ambientes produtivos que utilizam IDMS por sua estabilidade e desempenho.


"Quem aprende IDMS está estudando uma tecnologia morta"

O mercado é menor do que o de Db2, mas profissionais que dominam COBOL e IDMS continuam sendo procurados em empresas que mantêm aplicações legadas críticas.


Vale a pena aprender?

Se você pretende trabalhar em bancos, seguradoras, governo ou grandes empresas com sistemas legados, conhecer os conceitos do IDMS pode ser um diferencial importante.

Mesmo que seu foco principal seja Db2, estudar IDMS ajuda a compreender a evolução dos bancos de dados corporativos e dos modelos de navegação que influenciaram muitas tecnologias modernas.


Conclusão

O IDMS é um dos bancos de dados mais importantes da história do Mainframe. Baseado no modelo CODASYL em rede, ele foi projetado para oferecer alta performance e confiabilidade em aplicações corporativas críticas. Embora tenha sido ofuscado pelos bancos relacionais, continua presente em diversos ambientes produtivos e representa um capítulo fundamental da evolução dos sistemas de informação. Para um programador COBOL, compreender seus conceitos amplia a visão sobre arquiteturas legadas e facilita a manutenção e modernização de sistemas que ainda movimentam negócios em todo o mundo.

terça-feira, 20 de março de 2007

O que é CODASYL?

 

Bellacosa Mainframe apresenta o Codasyl

O que é CODASYL?

O CODASYL (Conference on Data Systems Languages) foi um consórcio criado em 1959 por fabricantes de computadores, empresas e órgãos governamentais com o objetivo de desenvolver padrões para linguagens e sistemas de informação.

O CODASYL ficou mundialmente famoso por dois grandes legados:

✅ A criação da linguagem COBOL

✅ O modelo de banco de dados em rede (Network Database Model)


Significado da Sigla

CODASYL
Conference on Data Systems Languages

Em português:

Conferência sobre Linguagens para Sistemas de Dados

Como Surgiu?

No final da década de 1950 existiam diversos fabricantes:

  • IBM

  • UNIVAC

  • Burroughs

  • Honeywell

  • RCA

Cada um possuía sua própria linguagem.

O problema era:

Programa IBM
      ≠
Programa UNIVAC

Não havia portabilidade.


A Missão do CODASYL

Criar padrões que permitissem:

  • Compartilhamento de conhecimento

  • Portabilidade

  • Padronização

  • Integração entre fabricantes


O Nascimento do COBOL

Em 1959 o CODASYL criou um comitê para desenvolver uma linguagem de negócios.

O resultado foi:

COBOL

Common Business Oriented Language

Curiosidade Histórica

Grace Hopper participou ativamente das discussões que influenciaram a criação do COBOL.


O Modelo CODASYL de Banco de Dados

Na década de 1960 o grupo criou outro marco importante:

Banco de Dados em Rede

(Network Database Model)


Como Funciona?

Os registros são ligados por relacionamentos.

Exemplo:

CLIENTE
    │
    ├── CONTA
    │
    ├── CARTÃO
    │
    └── EMPRÉSTIMO

Conceitos Básicos

Record

Equivalente a um registro.

CLIENTE

Set

Relacionamento entre registros.

CLIENTE
      ↓
   CONTA

Owner

Registro proprietário.

CLIENTE

Member

Registro associado.

CONTA

Exemplo Visual

CLIENTE (Owner)
      │
      ├──── CONTA 1
      │
      ├──── CONTA 2
      │
      └──── CONTA 3

Comparação com Modelo Hierárquico

Hierárquico (IMS)

CLIENTE
    ↓
CONTA
    ↓
MOVIMENTO

Um único caminho.


CODASYL

CLIENTE
   ↔
CONTA
   ↔
CARTÃO
   ↔
EMPRÉSTIMO

Múltiplos caminhos.


Vantagem do CODASYL

Maior flexibilidade.


Exemplo Bancário

CLIENTE
     │
     ├── CONTA
     │
     ├── CARTÃO
     │
     ├── INVESTIMENTO
     │
     └── SEGURO

Linguagem de Acesso

Os programas navegavam diretamente pelos relacionamentos.

Exemplo:

FIND CLIENTE
↓
FIND CONTA
↓
FIND MOVIMENTO

Navegação

O programador precisava conhecer:

Caminhos
Relacionamentos
Estruturas

do banco.


Produtos Baseados em CODASYL

Os mais conhecidos foram:

IDMS

(Integrated Database Management System)

Muito utilizado em Mainframe.


IDS

Integrated Data Store.


TOTAL

Outro banco de dados famoso da época.


CODASYL x Banco Relacional

Década de 1970:

Edgar F. Codd propõe:

Modelo Relacional


CODASYL:

Navegação

Relacional:

SELECT *
FROM CLIENTES

Exemplo

CODASYL:

CLIENTE
 ↓
CONTA
 ↓
MOVIMENTO

Relacional:

SELECT *
FROM MOVIMENTO
WHERE CONTA = 123

Diferenças

CODASYLRelacional
NavegacionalDeclarativo
RecordTabela
SetRelacionamento
OwnerPai
MemberFilho
Acesso físicoSQL

CODASYL e Mainframe

Durante décadas foi extremamente utilizado em:

  • Bancos

  • Seguradoras

  • Governo

  • Telecom


Muitos sistemas críticos ainda utilizam:

IDMS

baseado no modelo CODASYL.


Influência Atual

Embora o modelo relacional tenha se tornado dominante, várias ideias do CODASYL influenciaram:

  • Bancos orientados a grafos

  • Bancos NoSQL

  • Neo4j

  • Modelagem de relacionamentos complexos


CODASYL x Grafos

Curiosamente:

CODASYL (1969)
       ↓
Relacionamentos
       ↓
Grafos Modernos

Existe certa semelhança conceitual.


Curiosidades

1. O CODASYL ajudou a criar o COBOL

2. O modelo de banco em rede surgiu antes do DB2

3. O IDMS ainda existe em alguns ambientes Mainframe

4. Foi um dos modelos de banco mais importantes da história

5. Influenciou conceitos utilizados em bancos de grafos modernos


Resumo Rápido

ConceitoDescrição
CODASYLOrganização de padronização
COBOLCriado sob o CODASYL
Modelo RedeBanco de dados em rede
RecordRegistro
SetRelacionamento
OwnerRegistro pai
MemberRegistro filho
IDMSBanco baseado em CODASYL
IMSModelo hierárquico
DB2Modelo relacional

Conclusão

O CODASYL foi uma das organizações mais importantes da história da computação. Além de participar da criação do COBOL, desenvolveu o modelo de banco de dados em rede, que dominou muitos ambientes corporativos antes da popularização dos bancos relacionais. Seu legado permanece vivo em sistemas Mainframe, especialmente em ambientes IDMS, e influenciou conceitos modernos de modelagem de dados e bancos orientados a relacionamentos.


Vagner Renato Bellacosa, IBM Champion e especialista em IBM Mainframe
IBM Z17 SYSTEM ONLINE
Sobre o autor

Vagner Renato Bellacosa

IBM Champion 2026 • Especialista em IBM Mainframe

Vagner Renato Bellacosa trabalha com IBM Mainframe desde 1988 , é IBM Champion e especialista em COBOL, CICS, Db2, z/OS e IBM Z. Compartilha experiências profissionais, conhecimento técnico, história da computação e práticas do universo mainframe para aproximar novas gerações das tecnologias que sustentam empresas, bancos e governos ao redor do mundo.

IBM Champion IBM Z COBOL CICS Db2 z/OS Mainframe desde 1988
GitHub LinkedIn
Inicializando conteúdo...