A História das Bases de Dados – Os SGBDs não relacionais
Para percebermos o que nos trouxe às ferramentas que hoje os programadores dispõem para guardar os dados das suas aplicações, precisamos de olhar para a história e ver como antes os dados eram guardados.
Já vimos como era no início da computação, já olhámos para os principais criadores de sistemas de gestão de bases de dados (SGBDs) relacionais, mas ainda falta referir os “jogadores” que existiram no lado não relacional do campo, nos anos 80 e 90.
De salientar que os sistemas aqui referidos não são SGBDs puros. Estes tinham sempre apoio do restante ambiente de desenvolvimento em que eram utilizados. Portanto, neste artigo vão ser referidos maioritariamente sistemas de desenvolvimento de aplicações.
O início do gigante dBASE
Quem já andava pelo mundo da programação nos anos 80, de certeza que, por alguma vez, se cruzou com o dBASE. Este ambiente de desenvolvimento de aplicações, que continha um motor de bases de dados, um sistema de queries, um “engine” de formulários e uma linguagem de programação (que unia todos estes componentes) foi um dos mais conhecidos e mais bem sucedidos no seu tempo.
A sua história começou quando o americano Cecil Wayne Ratliff decidiu entrar na pool de apostas em resultados de jogos de futebol americano da sua empresa da altura, a Jet Propulsion Laboratory (JPL). Ratliff acreditava que conseguia acertar nos resultados dos jogos futuros se conseguisse processar as estatísticas dos jogos anteriores que vinham nos jornais. E assim, em 1978, Ratliff construiu o Vulcan em Assembly.
George Tate e Hal Lashlee, dois empreendedores com já algum sucesso na criação de startups na área da informática, descobriram o Vulcan em 1981 e quiseram montar a próxima empresa deles à volta deste sistema. Decidiram então falar com Ratliff e negociaram com ele um contrato para o licenciamento do software. Este contrato, que tinha apenas uma página, deu a permissão a Tate e Lashlee de venderem o produto e Ratliff ganharia uma comissão por cada venda. Estava criada a Ashton-Tate.
Vulcan foi então renomeado para dBASE, pois, Hal Pawluk, que lidou com o marketing nos primeiros anos da empresa, sugeriu um “d” minúsculo e “BASE” em maiúsculas para criar um nome que se distinguisse dos restantes.
Rápido crescimento do dBASE
Em 1982, o dBASE foi portado para o MS-DOS, o que permitiu tornar-se numa das primeiras grandes aplicações de sempre a correr nos PCs da IBM. Isto aliado com uma forte campanha de marketing fez com que as vendas do dBASE II crescessem rapidamente. Para os mais atentos, podem ter reparado que não foi referido nenhum dBASE I e, na verdade, nunca houve. Pawluk sugeriu que a primeira versão do dBASE fosse vendida como dBASE II para que se passasse a ideia que já era um produto na segunda versão e, por isso, mais maduro e com menos bugs.
Sendo uma das poucas aplicações a correrem nos PCs da IBM, o dBASE acabou por ser usado por muitos utilizadores, mesmo alguns sem serem programadores, para criarem as suas próprias aplicações. Em 1984, 70% do mercado de base de dados para microcomputadores era detido pelo dBASE II.
Essa quota de mercado seria invejada pela Procter & Gamble ou pela General Motors.
|PC Magazine sobre a popularidade do dBASE II, 1984
Reescrever o código do software em C usando ferramentas de conversão de código
Com o aumento do número de sistemas operativos, a empresa começou a ter dificuldades em portar o dBASE para as diferentes plataformas, devido a estar escrito em Assembly. Isso levou-os a tomar uma difícil mas importante decisão: reescrever o código do seu software em C usando ferramentas de conversão de código.
Em maio de 1984, o dBASE III foi lançado. Esta versão inicialmente era lenta, muito devido ao código gerado automaticamente. Contudo, teve reviews muito positivas por parte de grande parte de revistas e reviewers do tema.
Apesar do início atribulado, esta foi a melhor versão de sempre para a Ashton-Tate, em termos de vendas, pois, com um crescimento de 600% (aproximadamente) em relação a 1984, vendeu cerca de 318 milhões de dólares, em 1987.
O dBASE era diferente das outras linguagens de programação como BASIC, C, FORTRAN e COBOL, pois grande parte do trabalho ‘sujo’ já estava feito. A manipulação de dados é feita pelo dBASE, em vez de ser pelo utilizador, para que este se possa concentrar naquilo que está a fazer, em vez de se preocupar com detalhes ‘sujos’ de abrir, ler e fechar ficheiros e gerir a alocação de memória.
|Ratliff, criador do Vulcan e dBASE
A queda do império
Tardava em aparecer uma nova versão que os clientes tanto pediam. Mas acabou por aparecer, em outubro de 1988, o dBASE IV. Só que mais uma vez continha muitos bugs e problemas que impossibilitavam as pessoas de o usar. Este nem teria sido o problema, caso fosse lançada rapidamente uma atualização que colmatasse os problemas encontrados, como já tinha acontecido com o dBASE III. Mas com o passar do tempo, a dBASE IV v1.1 não chegava e os utilizadores começavam a procurar alternativas no mercado.
Aliás, a correção destes bugs não chegava porque nem sequer estava a ser pensada, visto que a empresa tinha decidido que deveria dar mais importância a um outro projeto chamado Diamond. Este projeto tinha como objetivo criar uma linha de produtos que permitissem a partilha de grandes quantidades de informação entre aplicações. Mas, passados largos meses, aperceberam-se que aquele projeto ainda precisava de muitos anos para ser desenvolvido e decidiram virar novamente o seu foco para o fix do dBASE IV. O problema é que este fix foi lançado a julho de 1990, passados quase dois anos da primeira versão.
Devido a estes e outros erros a nível de estratégia, a empresa “morria” lentamente. No último ano de funcionamento, perdeu cerca de 40 milhões de dólares. Acabou por ser adquirida pela Borland em 1991.
O aparecimento dos clones dBASE (conhecidos por xBASE)
Com o mau produto lançado em 1988, os clones (conhecidos por xBASE) começaram a aparecer em força e a roubar mercado ao dBASE. Entre eles, os mais conhecidos foram o Clipper e o FoxPro (ou Visual FoxPro). Para além de terem funcionalidades e características idênticas, incorporavam já algumas das utilidades há muito pedidas pela comunidade dBASE.
Clipper
Surgiu em 1985 na empresa criada por Barry ReBell e Brian Russel, a Nantucket Corporation. Uma das grandes vantagens que este sistema tinha em relação ao dBASE é que tinha um compilador, o que permitia que os utilizadores de programas feitos em Clipper apenas precisassem do binário gerado pelo programador e não tivessem que ter o runtime do Clipper. Este foi um ponto fundamental para o Clipper ter tido sucesso, pois, ao contrário do que acontecia com o dBASE, apenas os desenvolvedores de aplicações tinham que comprar licenças do Clipper.
Devido ao seu sucesso, a empresa foi vendida para a Computer Associates em 1992 por 190 milhões de dólares e o produto foi renomeado para CA-Clipper.
Mas não faltaria muito para o seu declínio. O Clipper tinha sido criado para MS-DOS, mas a Microsoft começou a apostar no início da década de 90 numa aplicação chamada Windows que, mais tarde, em 1995, se tornou o sistema operativo da empresa para o futuro. Com o lançamento do Windows 95 e com a dificuldade da equipa do Clipper em portar o sistema de MS-DOS para Windows, o número de aplicações a serem criadas com esta ferramenta da Computer Associates começou a cair.
Contudo, é de realçar que ainda hoje existem linguagens que têm “traços” do Clipper na sua sintaxe e funcionalidade, como por exemplo, Visual Basic, Microsoft Access, Delphi e PowerBuilder. Existem ainda também versões do Clipper, atualmente, mantidas por third-parties para todo o tipo de sistemas operativos.
FoxPro
Um xBASE também de peso nos anos 90 e inícios dos anos 2000 foi o FoxPro. Este foi lançado pela Fox Software em 1984 e, devido à sua qualidade, acabou por ser comprado pela Microsoft em 1992. A partir daí, o software passou a chamar-se “Visual FoxPro” e, com o avançar das versões, tornou-se num hub de desenvolvimento exclusivo para Windows.
A primeira versão lançada pela Microsoft e já sobre o chapéu “Visual” foi a 3.0, a junho de 1995. Mas porque todas as coisas boas acabam, a Microsoft anunciou em março de 2007 que o Visual FoxPro não iria ter uma próxima versão. Este anúncio gerou uma petição iniciada pela comunidade espanhola de utilizadores de FoxPro designada por “MásFoxPro” em que pediam à Microsoft que continuasse a desenvolver o Visual FoxPro ou libertasse o seu código para open-source.
Em resposta, a Microsoft respondeu justificando que construir uma versão 64-bit iria implicar uma reescrita de grande parte do código do FoxPro e que por isso achavam que não deveria continuar a dar recursos para o projeto. Afirmou também que iria dar suporte ao Visual FoxPro até 2015.
Curiosidades
- Vulcan, primeiro nome do dBASE, foi-lhe dado devido à personagem Spock da saga Star Trek ser um Vulcan (originários do planeta Vulcan).
- Hal Pawluk influenciou muito do marketing inicial da Ashton-Tate. Aliás, até o próprio nome da empresa foi sugerido por ele. Em vez de se chamar Lashlee-Tate (último nome de ambos os fundadores), ele sugeriu Ashton-Tate, sendo Ashton um nome puramente inventado, simplesmente porque suava muito melhor e era mais fácil de pronunciar.
- Devido ao nome de Ashton-Tate, as pessoas perguntavam pelo Mr. Ashton
- A Ashton-Tate tentou rotular o dBASE como um SGBD relacional, mas ele na verdade não cumpria as regras de Codd, pois assemelhava-se mais a um SGBD navigacional.
- Um dos maiores legados deixado pelo dBASE foi o tipo de ficheiros que este sistema usava para guardar os dados, os ficheiros .dbf, pois estes permitiam fornecer um cabeçalho onde era descrita a estrutura da informação no ficheiro. O dBASE foi um dos primeiros sistemas de bases de dados a dar esta possibilidade.
- Hoje em dia ainda se pode ler ficheiros genéricos .dbf (formato criado pela dBASE) em Emacs, com plugins, e em LibreOffice, sendo que neste último também se podem gerar ficheiros deste género.
No próximo artigo, iremos falar do resultado da história contada nestes artigos. Iremos falar da situação atual e do debate mais quente no que toca a bases de dados: SQL vs NoSQL.
Leia ainda:
Este artigo tem mais de um ano
A título de curiosidade, no programa Inforjovem, na década de 80 era lecionado o MsDos (S.O) + Dbase (Base de Dados) aqui referido, assim como Lotus 123 (Folha de cálculo ) e o WordPerfect (Processador de Texto).
Nesses anos 80, no programa Inforjovem, para além do que referiu também eram lecionados outros módulos: WordStar (Processador de Texto), dBASE III Plus (Base de Dados), Turbo Pascal e BASIC (Linguagens de Programação).
Nos anos 80, esses programas (dBASE, Lotus 1-2.3 e o WordPerfect) eram vistos como os “big three” para PCs, pois eram de longe os mais vendidos e usados devido à sua compatibilidade com muitos dos sistemas operativos (senão todos) que corriam nos PCs da altura
Ora aqui está um artigo de qualidade excepcional, que me deu muito prazer a ler.
Trouxe boas memórias!
Obrigado.
PS: mais artigos desta natureza e menos de guerrinha de telemóveis…
Fico contente por teres gostado do artigo e por te ter trazido boas memórias. Um dos motivos pelo qual é sempre bom recordar a história 🙂
Interessante!
Muito bom
Mais um excelente artigo da “série” da história das bases de dados! Se não perdi nenhum é o quarto certo?
Estou ansioso pelo próximo “episódio”.
Muito bom!