|
Banco de dados, uma retrospectiva |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Autor: Carlos Alberto Sowek |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Este artigo busca relembrar um pouco sobre o que aconteceu desde a década de 50 na área de informática, e quais os produtos que foram lançados e suas versões. Serve para lembrar o que já passou e para verificar o que está acontecendo em relação a novos produtos na área de banco de dados e suas tecnologias inovadoras. Para relatar todos os produtos, um a um, informando o que ocorreu ao longo dos anos ficaria muito extenso. Os produtos e empresas estão relacionados em tabelas como se fosse um resumo. As pessoas que tiveram a oportunidade de trabalhar com alguns produtos/empresas vão relembrar todos os fatos marcantes que ocorreram com as versões dos produtos disponíveis na época que utilizaram. Em todos os tipos de banco de dados a seguir relatados, são relacionados alguns, pelo menos os mais conhecidos e, com certeza, não estão relacionados todos os bancos de dados que foram desenvolvidos/disponibilizados comercialmente, bem como todos os projetos encerrados/em andamento. Algumas empresas não existem mais, outras foram adquiridas por novas organizações. Em alguns produtos foram colocados os nomes das várias versões do produto durante sua existência. Banco de Dados e Linguagens de Programação Inicialmente foram os sistemas de arquivos como indexados seqüenciais - ISAM (Indexed Sequential Access Method). Depois, na década de 60, seguiram os Bancos de Dados hierárquicos e em rede. Os bancos de dados relacionais surgiram na década de 70, seguindo as regras definidas por Codd. Na década de 80 surgiram os bancos de dados orientados a objeto. Com a era da microinformática surgiram os produtos padrão xbase com grande repercussão no mercado. Atualmente temos os bancos de dados XML nativo, bancos de dados "On-Line" que permitem disponibilizar serviços via Web, bancos de dados puro Java e banco de dados específicos para aplicações "real-time", e versões de bancos de dados "embedded". Na Tabela 1 a seguir estão relacionados bancos de dados e linguagens de programação que apareceram no mercado, com uma visão histórica, pois alguns produtos não existem mais. Contempla também novos produtos e alguns têm o nome da empresa da qual foram adquiridos. Tab.1 - Banco de Dados e Linguagens de Programação - julho/02
Com relação aos fornecedores de Sistemas Gerenciadores de Banco de Dados (SGBD´s), ocorreram alguns fatos relevantes que são relatados a seguir: - IBM e suas versões de bancos de dados com vários nomes até chegar ao DB2 - Computer Associates e suas aquisições, ficando com um grande leque de produtos; - Informix e o seu SGBDR desenvolvido em plataforma UNIX; - Sybase e o seu SGBDR desenvolvido cliente/servidor; - Parceria da Sybase com a Microsoft com relação ao SQL Server; - A questão de Sistemas Gerenciadores de Banco de Dados Objeto Relacional - ORDBMS; - Disputa para usar o nome "Universal Database"; - Divulgação de resultados de TPC (Transaction Processing Performance Council) com os melhores índices de performance em determinada plataforma; - Políticas de preços praticadas. Mudanças constantes na forma de cobrança/venda dos produtos: por porte de CPU, por tipo do processador, por usuários nomeados/simultâneos, por licenças de uso, por número de cópias; - Aquisição da Informix pela IBM; - Disputa da 1ª posição no "market share" de banco de dados; - IBM e seu conceito de bancos de dados federados. Se fosse contar a história de cada empresa e de cada produto, suas versões e todas as "features" implementadas, daria alguns volumes. Em síntese, colocamos a seguir algumas características de banco de dados que influenciaram o mercado:
Um grande fato ocorrido foi a conversão dos sistemas para o advento do ano 2000, que teve algumas implicações no mercado de banco de dados. Algumas empresas preferiram adotar os ERP, pacotes de aplicativos prontos e, neste caso, pode ter ocorrido também a troca do banco de dados. Alguns aplicativos desenvolvidos em padrão "xbase" foram refeitos em outra tecnologia. Outra questão importante, em se tratando de banco de dados, é a questão do padrão, inicialmente criado com a versão ANSI SQL/89 (padrão americano) e depois adotado pela ISO/IEC 9075 SQL/89 como Norma Internacional. Seguiram-se as versões ISO/IEC 9075 SQL/92 e ISO/IEC SQL/99. Os trabalhos na ISO/IEC JTC1/SC32/WG3 continuam em andamento e abaixo estão relacionados os itens que estão em discussão de acordo com informações da Comissão de Estudos de SQL CE-21:102.01 (com sede em Curitiba/PR) subordinada a CT-21:102 - Comissão Técnica de Linguagens, Sistemas Operacionais e Bancos de Dados, endereço http://www.pr.gov.br/abntsoftware/ce10201, pertencente ao Subcomitê de Software SC10:21, organismo vinculado ao Comitê Brasileiro de Informática (CB-21) da Associação Brasileira de Normas Técnicas - ABNT.
O grupo que está trabalhando o padrão SQL nos Estados Unidos é o NCITS Technical Commitee H2 (conhecido como ANSI X3H2). O NCITS TC H2 está em harmonia com ISO/IEC JTC1/SC32 WG3 (Linguagem de Banco de Dados), WG4 (SQL/MM - Multimedia) e WG5 (Acessos a Dados). NIST FIPS 127-2 é o padrão atual para SQL adotado pelo governo federal americano, baseado no SQL92. Este padrão é requerido para os Sistemas Gerenciadores de Banco de Dados que são comprados pelos órgãos do governo. Como curiosidade foram relacionados mais alguns bancos de dados: - Banco de dados ArunaDB da Seva, Inc. que foi desenvolvido em linguagem de programação "ruby". Endereço http://www.sevainc.com. - Banco de dados Sentences DB da Lazy Software, o primeiro Sistema Gerenciador de Banco de Dados baseado no Modelo Associativo de Dados cuja intenção é de refletir a estrutura dos dados do mundo real e o modo como percebemos e processamos as informações. Foi publicado o livro "The Associative Model of Data" por Simon Willians. Endereço http://www.lazysoft.com. - O ERDB (Entity Relation Database) da Praedictus Corporation, que é um Sistema Gerenciador de Fluxo de Dados em Tempo Real. Sistema construído em estruturas entidade-relação desenhado especificamente para ambientes de respostas sensitivas. Endereço http://www.praedictus.com. - JS da ORI Software, uma nova geração de DBMS usando tecnologia de "engine" de armazenamento baseado em um novo e experimental algoritmo matemático e um novo método de acesso. Suporta modelos de dados relacionais, orientado a objetos, multidimensionais e sistemas hierárquicos. Endereço: http://www.orisoftware.com, Tel Aviv - Israel. - MindModel da MindModel Corp., Banco de dados Relacional sem programação chamado como software de "processamento de linguagem natural". Endereço http://www.mindmodel.com. - Banco de dados puro Java: PointBase da PointBase, endereço http://www.pointbase.com. QED da Quadcap Software. Endereço http://www.quadcap.com. -Kdb da Kx Systems Inc., banco de dados com armazenamento baseado em colunas. Endereço http://www.kx.com. - Banco de dados para aplicações "real-time": Linter SQL da RelexUS endereço: http://www.relexus.com. Empress da Empress Software Inc. Endereço: http://www.empress.com. Banco de Dados "Open Source" Os Sistemas Gerenciadores de Banco de Dados "Open Source" ou Software Livre entraram no mercado com a expansão do Linux sistema operacional também "Open Source". Além da questão custo envolvida, existe a questão de que os produtos devem ter seus códigos fontes liberados. Em alguns países existem movimentos para adotar o Software Livre tanto por instituições governamentais como por empresas da iniciativa privada. Tab.2 - Banco de Dados “Open Source” - julho/02
Mercado em crescimento, deve-se aguardar os próximos anos para ver o que pode acontecer. Existem prós e contras em adotar tal solução além da questão de custos, a questão de mudança de cultura e de princípios, a questão de treinamento e de suporte. Banco de Dados Orientados a Objetos (OODBMS ou ODBMS) Os Sistemas Gerenciadores de Banco de Dados Orientados a Objetos (OODBMS) surgiram como uma nova visão para desenvolvimento de aplicações, como o reuso de códigos, entre outras características. Algumas empresas desenvolveram alguns bancos de dados orientados a objetos de forma proprietária, pois o padrão SQL não atendia as necessidades de tratar certas características, como por exemplo: herança. Com o uso verificou-se que os bancos de dados orientados a objetos não poderiam ser usados para sistemas de missão crítica, tendo grande dificuldade de ser aceito pelo mercado. O padrão SQL evoluiu e na sua versão SQL99 já tem mais questões de orientação a objetos implementadas no seu código, e em futuras versões deve contemplar novas funcionalidades. Tab.3 - Banco de Dados Orientados a Objetos (OODBMS) - julho/02
Os Sistemas Gerenciadores de Banco de Dados Orientados a Objeto não ficaram sendo os sucessores dos Sistemas Gerenciadores de Banco de Dados Relacionais (RDBMS). É encontrado hoje em poucas áreas, como em aplicações de CAD/CAE ou como servidor de aplicações Web para armazenar objetos persistentes. Tab.4 - Banco de Dados Orientados a Objetos “Open Source”- julho/02
Os RDBMS devem ser a tecnologia de banco de dados predominante nos próximos anos. Banco de Dados XML Nativo Documentos XML (eXtensible Markup Language) estão divididos em duas categorias principais: Centrado no dado e centrado no documento. Documentos centrados no dado são aqueles onde o XML é usado como transporte de dados. Um exemplo são as páginas dinâmicas de web que são construídas de conjuntos de dados regulares e conhecidos. Documentos centrados no documento são aqueles no qual XML é usado pelas suas capacidades equivalentes ao SGML (Standard Generalized Markup Language), assim como páginas estáticas na web. Para armazenar e recuperar os dados em documentos centrados no dado é necessário um banco de dados com capacidades de XML. Para armazenar e recuperar documentos centrados em documentos é necessário um sistema gerenciador de banco de dados ou de conteúdo XML nativo. Bancos de dados XML Nativo são divididos em duas categorias: - Armazenamento baseado em texto. - Armazenamento baseado em modelo. Armazenamento baseado em texto armazena o documento inteiro em forma de texto e permite algumas funcionalidades de classificação do banco de dados para acessar o documento. Uma estratégia simples para armazenar o documento é como BLOB em um banco de dados relacional ou como um arquivo do "file system", ou usando uma estratégia mais sofisticada armazenando os dados otimizados e customizados com índices. Armazenamento baseado em modelo armazena um modelo binário de documento em uma forma de armazenamento de dados existente ou customizada. Armazenamento baseado em texto tem a vantagem em recuperar documentos inteiros ou fragmentos em forma de texto. Armazenamento baseado em modelo tem a vantagem de combinar fragmentos de diferentes documentos. A única interface para Banco de Dados XML Nativo é XML e suas tecnologias relacionadas, assim como: XPath, Xquery, XQL, Quilt, etc. Tab.5 - Banco de Dados XML Nativo - julho/02
Como tendência do mercado, existem também os bancos de dados XML nativo "open source". Tab.6 - Banco de Dados XML Nativo “Open Source” - julho/02
|