# Adabas

Adabas ou ADABAS (Adaptable DAta BAse System) - Sistema de Banco de Dados Adaptável) é o principal sistema gerenciador de banco de dados em modelo de rede desenvolvido pela empresa Software AG, usado inicialmente apenas em Mainframes, mas agora suportado por diversos sistemas diferentes, inclusive os de plataforma baixa.

## História

Inicialmente lançado em 1971 para mainframes IBM que utilizavam os sistemas DOS/360, OS/MFT ou OS/MVT, o ADABAS hoje está disponível também para outros sistemas, como Unix (inclusive Linux) e versões do Windows Server. O ADABAS possui suporte à Parallel Sysplex, replicação em tempo real, e à acessos SQL e XML. Historicamente, o ADABAS era utilizado em conjunto com a linguagem de programação NATURAL, também da Software AG, portanto muitas das antigas aplicações que utilizavam o banco de dados ADABAS também eram desenvolvidas em NATURAL. Adabas tem mantido a posição como um dos mais rápidos banco de dados OLTP oferecendo a funcionalidade 24x7.

## Informações Técnicas

O ADABAS é um banco de dados de lista invertida, com as seguintes características:
* Arquivos, e não tabelas como grande forma de organização;
* Registros, e não linhas como unidade de conteúdo;
* Campos, e não colunas como componentes de uma unidade de conteúdo;
* Nenhum motor de SQL integrado. O SQL ou outro mecanismo externo de consulta deveria ser providenciado à parte. O acesso ao SQL é provido pelo gateway SQL do ADABAS, que também fornece comunicações ODBC, JDBC e OLE DB, e ainda provê possibilidade de uso de SQL no ADABAS através de programas em COBOL;
* Recursos de busca podem utilizar campos indexados, não indexados ou ambos;
* Não força nativamente a integridade de relacionamento, tornando essa manutenção uma responsabilidade da aplicação que o utiliza;
* Suporta duas formas de desnormalização: através da repetição de grupos em um registro ("grupos periódicos") ou pelo uso de campos multivalorados.
O ADABAS é tipicamente utilizado em aplicações que demandam grande volume de processamento de dados ou em ambientes que necessitam grande quantidade de transações OLAP.
Foi descrito como Não-relacional, mas pode ser comparado como um “Quase Relacional” pelas suas características. Algumas diferenças entre o Adabas e um SGBDR tradicional:
* Arquivos, e não tabelas, como o principais unidades de organização;
* Records, e não células, como menores unidades de organização;
* Campos, e não colunas, como componentes de uma unidade;
* Não baseado no sistema SQL, precisando de um mecanismo de busca externo;
* Dirty Read como modo de operação (Read uncommitted);
* Suporta “Tabelas Encaixadas”.
Ele provou ser muito bem-sucedido em fornecer o acesso eficiente aos dados e em manter a integridade da base de dados. Adabas é agora usado extensamente nas aplicações que requerem um volume muito grande de processamento de dados, ou com grandes transações de processamento analítico on-line (OLAP).

## Uso no Brasil

Quase todos os grandes bancos de dados governamentais mantidos pelo BNDES, BACEN, SERPRO e Dataprev estão em Adabas$^[$. Eles contêm informações de praticamente todos os brasileiros, como o banco de dados do SUS. Também o Banco do Brasil habilita sua utilização em paralelo com VSAM e DB2. A BrasilTelecom, outros bancos e grandes empresas de diversos setores utilizam Adabas. Por serem sistemas legados, suas mudanças para os modelos de bancos de dados relacionais implicariam investimentos altíssimos e pouca segurança no resultado final. O adabas é utilizado no Bradesco num sistema de financiamento que é proveniente do antigo FINASA, é único sistema em Adabas no Bradesco$^[$. É também utilizado no Departamento Estadual de Trânsito de Sergipe onde mantém todas informações sobre veículos e condutores do Estado.
Na vertical Educação, ele é utilizado no sistema de gestão acadêmica da Universidade Presbiteriana Mackenzie$^[$.

## Ver Também

* Transação em base de dados