No último artigo desta mini-série, falou-se dos sistemas empresariais que já existiram e que ainda existem, muitos deles, no mercado. Mas no mundo dos SGBDs existe outra parte da qual é fundamental falar que é a parte open-source.
São milhares os projetos que assentam toda a sua estrutura em motores de bases de dados que são mantidos pela comunidade open-source. Para mostrar o sucesso destas soluções, basta ver que o Facebook, o YouTube e outros da mesma grandeza tiveram na sua criação, e alguns ainda têm hoje em dia, SGBDs que são livres. Por isso, o artigo de hoje recai sobre a vaga open-source.
Ingres e Postgres
O primeiro projeto open-sourcede destacar é o Ingres (INteractive Graphics REtrieval System) criado por Michael Stonebraker e Eugene Wong. O seu desenvolvimento começou em 1973, na Universidade de Berkeley, aparecendo daí a linguagem QUEL, que se tornaria um “concorrente” e uma fonte de inspiração para o SQL.
O final deste projeto chegou pouco depois de Stonebraker, Wong e Larry Rowe decidirem sair da Universidade de Berkeley, em 1982, para criar uma versão proprietária do Ingres. A startupformada foi mais tarde adquirida pela Computer Associates, que em 2005 restabeleceu o Ingres como uma empresa independente (mais tarde renomeada Actian) e disponibilizou novamente o código fonte do projeto. A Actian foi mais tarde comprada pela HCL Technologies, deixando de ter lançamentos de novas versões open-source desde 21 de abril de 2017.
Voltando para 1985, Stonebraker e Rowe regressam à Universidade de Berkeley e decidem fazer uma versão do Ingres melhorada que permitisse resolver problemas que se tinham tornado importantes resolver. Começaram assim o POSTGRES(POST inGRES – “após Ingres”).
Um protótipo do projeto foi mostrado na ACM SIGMOD Conference de 1988 e foi lançado para um pequeno número de utilizadores em junho de 1989. Depois de sucessivas reiterações, o projeto chega ao fim na sua versão 4, a 30 de junho de 1994. Importante dizer que o POSTGRES ainda não tinha nesta altura aderido ao SQL e usava um sucessor do QUEL, o POSTQUEL.
Visto o POSTGRES ter chegado ao fim, Andrew Yu e Jolly Chen, graduados na Universidade de Berkeley, aproveitaram o trabalho feito pelos seus professores e trocaram o POSTQUEL pelo SQL lançando em 1995 o Postgres95, que continuou a ser em código aberto e possível de usar de forma gratuita. Em 1996, o nome é mudado para PostgreSQL e desde então tem sido mantido por um grupo de programadores voluntários de todo o mundo, o The PostgreSQL Global Development Group.
MySQL e Maria DB
Por volta desta altura, em 1995, Michael Widenius, David Axmark e Allan Larsson lançam o seu primeiro produto, o MySQL, e criam a sua empresa, de nome baseado no seu primeiro produto, MySQL AB. Em jeito de curiosidade, o “My” de MySQL é proveniente do nome da filha de Michael Widenius, “My”.
Os seus criadores tinham como objetivo inicial melhorar a experiência de um SGBD já existente, o mSQL ou Mini SQL (que era pago). Criaram então uma nova interface SQL, mantendo a API que já existia no mSQL. Conseguiram assim que uma quantidade considerável de utilizadores fizesse a transição fácil para a sua plataforma, tendo em conta que o produto era disponibilizado livremente.
Em 2008, a empresa acabou por ser adquirida pela Sun Microsystems. A 20 de abril de 2009 foi anunciado que a Oracle estava a pensar adquirir a Sun. Este anúncio fez com que Michael Widenius, a 29 de Outubro desse mesmo ano, fizesse um fork (uma cópia do original) do MySQL, com receio de que o MySQL deixasse de ser open-source, criando desta forma o Maria DB.
Outra curiosidade é que, tal como o nome MySQL é baseado no nome da filha de Widenius, MariaDB baseia-se também no nome da sua outra filha “Maria”.
Importante referir que o MySQL foi usado pelo YouTube, Google, Facebook, Twitter e muitas outras grandes do mundo do software, especialmente empresas viradas para a web, devido às muitas integrações existentes, à sua facilidade de uso e à sua presença em muitos servidores espalhados pelo mundo que têm o stack LAMP (Linux, Apache, MySQL, PHP/Perl/Python) instalado.
Firebird
A história do Firebird começa muito antes do ano do seu lançamento. No ano de 1984, enquanto tomava banho, Jim Starkey teve uma ideia para um sistema que gerisse concorrentemente alterações feitas por vários utilizadores. Ele já tinha experiência na indústria, pois tinha já trabalhado quase 10 anos para uma das gigantes da altura, a DEC (muito conhecida também como Digital).
Apesar de gostar muito de lá trabalhar, ele queria experimentar trabalhar por conta própria e começou a explorar a sua ideia. Lembrou-se que tinha ouvido falar que um vendedor de workstations, a Apollo Computer, estava à procura de uma base de dados para fornecer no seu Unix. Depois de falar com eles e expor o seu projeto, conseguiu financiamento e, no seguimento disso, criou, com a ajuda de Ann Harrison, a InterBase Corporation (originalmente Groton Database Systems) que viria a desenvolver o SGBD InterBase.
Passados dois anos, em 1986, a Apollo Computer decidiu parar o financiamento do projeto, devido a mudanças na direção. Por isso, a InterBase Corporation decidiu vender em 1991, o InterBase à Ashton-Tate, criadores do famoso dBase.
Mas estes últimos anos tinham sido atribulados para a Ashton-Tate e devido a erros cometidos pela direção em termos de estratégia para a empresa, nesse mesmo ano, viram-se obrigados a vender a empresa à Borland.
Avançando agora para o ano 2000, a Borland decidiu lançar uma versão proprietária e outra open-source da versão 6 do InterBase. Ambas as versões tiveram vários updates, mas devido a desentendimentos dentro da empresa, a versão open-sourcedeixou de ser desenvolvida. Então surgiu um fork da InterBase 6 no SourceForge, dando origem ao Firebird, que hoje ainda é mantido pela comunidade.
SQLite
Dwayne Richard Hipp, enquanto trabalhava para a General Dynamics sob contrato da Marinha dos EUA, teve que fazer um software que controlasse os danos a bordo de lançadores de mísseis, que originalmente usavam o sistema operativo HP-UX (implementação proprietária da HP do Unix) com uma base de dados Informix. Devido às implicações disso, teve que queriar uma ferramenta para que conseguisse ultrapassar certos desafios e, por isso, lançou em 2000 o
Devido às circunstâncias, este SGBD tinha que ser diferente dos já referidos. E na verdade, ao contrário dos outros que assentam na ideologia de cliente-servidor, o SQLite está incorporado diretamente em cada programa que o pretende usar.
Atualmente, o SQLite está contido numa biblioteca de C, o que permite que este seja compilado aquando do programa que usa o SGBD. Por isso, é a principal escolha por parte de browsers, sistemas operativos e sistemas embebidos para guardar a informação localmente, sendo provavelmente o engine de base de dados mais usado em todo o mundo.
Os mais populares no geral
De acordo com o DB-Engines, portal que classifica a popularidade dos SGBDs baseado em referências nas redes sociais, Stack Overflow e as tendências no Google (Google Trends), no ano de 2018, o mais popular foi o PostgreSQL e no mês de abril de 2019, o top 4 encontra-se da seguinte maneira:
- Oracle
- MySQL (open-source)
- Microsoft SQL Server
- PostgreSQL (open-source)
Neste link consegue visualizar a popularidade de todos os SGBD avaliados desde 2013 até ao momento atual.
Outras Curiosidades
- Curiosamente, o browser Mozilla Firefox tem este nome devido ao Firebird. Inicialmente o browser chamava-se Phoenix, mas teve que mudar devido à marca registada da Phoenix Technologies. Portanto, a Mozilla Organization decidiu mudar o nome do seu navegador para Firebird. Mas com o receio que os search engines, como a Google, confundissem o browser e o SGBD, ambos com o nome Firebird, os apoiantes do SGBD fizeram-se ouvir. Devido a este incidente, a 9 de fevereiro de 2004, a Mozilla mudou o nome do seu principal produto para o nome que hoje conhecemos, Mozilla Firefox.
- Estudantes de Berkeley, Jerry Held e mais tarde Karel Youseffi, foram para a Tandem Computers, onde construíram um sistema baseado no Ingres que mais tarde evoluiu para o NonStop SQL. Em 1989, este sistema podia executar consultas em paralelo sendo que ficou bastante famoso por ser um dos poucos sistemas que se expande quase linearmente com o número de processadores na máquina: adicionar um segundo CPU a um servidor NonStop SQL existente quase duplica o seu desempenho. Atualmente é propriedade da Hewlett Packard Enterprise.
- A empresa MySQL AB fez uma parceria, em 2003, com a SAP para ajudar a desenvolver o SAP DB, SGBD para grandes sistemas empresariais SAP. Com esta parceria, o sistema foi renomeado para MaxDB, adivinhe-se, o nome do filho de Widenius. Em 2007, esta parceria acabou e o desenvolvimento do SGBD reverteu para a SAP.
Os SGBDs relacionais são os mais usados hoje em dia e muitos destes, tanto os referidos hoje como os que foram falados no artigo anterior, são amplamente usados e dos mais populares no mundo inteiro. Contudo, nas décadas de 70, 80 e 90 houve muitos outros SGBDs que não adotaram o modelo relacional e que foram tão ou mais importantes que os já referidos nesses anos. Por isso, no próximo artigo, vai-se falar desses mesmos SGBDs não relacionais que tiveram um grande impacto.