ADMINISTRAÇÃO DE BANCO DE DADOS Unidade IV DEFINIR A MELHOR SOLUÇÃO DE BANCO DE DADOS PARA AS NECESSIDADES DA EMPRESA.1 O uso das tecnologias.1.1 O software livre 1 A tecnologia de banco de dados, assim como a informática em geral, vem sofrendo atualizações constantes e, uma das atividades do profissional de banco de dados é a de se manter informado sobre as atualizações do mercado no que se refere a novos produtos. Medeiros (2006) afirma que nos últimos anos, a área de banco de dados sofreu uma grande modificação com a chegada das ferramentas gratuitas, ou de uso livre, como normalmente são chamadas. Tão importante quanto o fato de serem gratuitas, foi o fato de as ferramentas se apresentarem robustas e confiáveis, o que agradou muito o mercado de trabalho. As ferramentas gratuitas estão baseadas na ideia de software livre, que tem como princípio: software livre é uma questão de liberdade, não de preço. Software livre se refere à liberdade dos usuários com relação ao software, mais precisamente: a liberdade de executar o programa para qualquer propósito; 3
Unidade I 1 20 2 a liberdade de estudar como o programa funciona e adaptá-lo para as suas necessidades. Acesso ao códigofonte é um pré-requisito para essa liberdade; a liberdade de redistribuir cópias de modo que você possa ajudar o seu próximo; a liberdade de aperfeiçoar o programa e liberar os seus aperfeiçoamentos, de modo que toda a comunidade se beneficie. O software livre é uma tendência de mercado. As ferramentas atuais, como o MySQL, PostGreSQL, Firebird e outros, têm apresentado a cada ano versões mais confiáveis e amigáveis, que permitem ao usuário realizar as mesmas rotinas de outros bancos de dados proprietários com a mesma qualidade. As ferramentas proprietárias existentes no mercado, como Oracle e MS-SQLServer, também têm sua grande contribuição no mercado de trabalho como ferramentas robustas, confiáveis e de larga utilização, principalmente pelas empresas de grande porte. O mercado de banco de dados está em constante atualização e dessa forma abre espaço para todos os tipos de ferramentas. Isso é bom porque abre portas para os profissionais da área de tecnologia da informação, em especial aos com conhecimento em banco de dados. Um especialista em tecnologia da informação não é um especialista em ferramentas, mas em soluções. Logo, ele não deve se prender a fabricantes ou produtos e, sim, estar preparado para as constantes mudanças que o mercado deverá sofrer. 30 Apesar das mudanças, as ferramentas de banco de dados tendem a facilitar a vida do profissional de informática, tornando a sua produção maior e mais eficiente, evitando que ele tenha que editar comandos manualmente ou criar tabelas através de comandos extensos. 36
ADMINISTRAÇÃO DE BANCO DE DADOS.1.2 Ferramentas de SGBD Veremos a seguir algumas ferramentas disponíveis no mercado de SGBD e suas principais características: MySQL O aplicativo é um sistema gerenciador de banco de dados relacional baseado em comandos SQL, que vem ganhando grande popularidade atualmente. Foi criado na Suécia por dois suecos e um finlandês: David Axmark, Allan Larsson e Michel Widenius, que trabalham juntos desde a década de 1980. O sucesso do aplicativo deve-se em grande parte à fácil integração com linguagens de programação Web, como o PHP, e principalmente por se tratar de um banco de dados gratuito, ou seja, o usuário não tem custo algum para adquirir o produto, que pode ser baixado diretamente da Internet (Fig..1). 1 PostGreSQL Fig..1 - Visão geral do MySQL para Windows. O aplicativo é um sistema de gestão de bases de dados relacionais, desenvolvido como projeto de software livre. Sua 37
Unidade I 1 origem está de certo modo ligada ao projeto Ingres, desenvolvido na Universidade de Berkeley, Califórnia. O líder do projeto, Michael Stonebraker, um dos pioneiros das bases de dados relacionais, deixou a universidade em 1982 para comercializar o Ingres, acabando por regressar à Berkeley. Em 198, Stonebraker iniciou um projeto pós-ingres com o objetivo de responder a muitos problemas envolvendo as bases de dados relacionais que surgiam. Esse novo projeto recebeu o nome de PostGres, que, apesar do parentesco, não partilhou o código-base com o Ingres, seguindo caminhos distintos. Em 1993 o projeto PostGres foi oficialmente abandonado pela Universidade de Berkeley, mas devido ao fato de seu código-fonte estar sob licença gratuita, foi possível manter o seu desenvolvimento pela comunidade BSD 1. Em 199 foi adicionado um interpretador SQL para substituir a linguagem QUEL (desenvolvida para a Ingres) e o projeto foi renomeado, primeiramente, para PostGres9 e mais tarde para PostGreSQL. 20 InterBase 2 O aplicativo InterBase é um gerenciador de banco de dados relacionais da Borland, mesmo fabricante das linguagens de programação Delphi, Borland C++ e Borland Java. Ele é uma opção alternativa aos bancos de dados tradicionais, como o SQLServer da Microsoft, e tem as vantagens de ser gratuito e código-aberto, o que significa que pode ser modificado e melhorado por qualquer usuário. Dessa forma, a ferramenta se mantém em constante evolução, sem custo algum aos seus usuários. 1 A licença BSD é uma licença de código aberto inicialmente utilizada nos sistemas operacionais do tipo Berkeley Software Distribution (um sistema derivado do Unix). 38
ADMINISTRAÇÃO DE BANCO DE DADOS SQLite O aplicativo SQLite é uma biblioteca em linguagem C que implementa um banco de dados SQL embutido. Programas que usam bibliotecas SQLite podem ter acesso a banco de dados SQL sem executar um processo separado. O SQLite lê e escreve diretamente no arquivo do banco de dados. Algumas características do SQLite: software livre, domínio público e multiplataforma; não necessita de instalação, configuração ou administração; implementa a maioria dos padrões SQL; o banco de dados é guardado em um único arquivo; suporta bases de dados acima de 2 terabytes; não possui dependências externas. 1 MS SQLServer O aplicativo MS SQLServer é um gerenciador de banco de dados fabricado pela Microsoft. É um SGBD muito robusto e bastante usado em empresas e grandes sistemas corporativos (Fig..2). Fig..2 - Visão geral do Microsoft SQLServer. 39
Unidade I Oracle 1 O aplicativo é um sistema de banco de dados que surgiu no final dos anos de 1970, quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam percebido ao encontrar uma descrição de um protótipo funcional de um banco de dados relacional e, ao descobrir que nenhuma empresa havia se empenhado em comercializar essa tecnologia. Então, Ellison e os cofundadores da Oracle Corporation, Bob Miner e Ed Oates, perceberam que havia um tremendo potencial de negócios no modelo de banco de dados relacional, tornando sua empresa a maior do mundo no ramo de software empresarial (Fig..3). A empresa oferece produtos de banco de dados, ferramentas e aplicativos, bem como serviços relacionados de consultoria, treinamento e suporte. A tecnologia Oracle pode ser encontrada em quase todos os setores do mundo inteiro e nos escritórios de 98 das empresas citadas na lista da Fortune 0. 20 Fig..3 - Visão geral do Oracle Enterprise Manager..2 Requisitos de software arquitetura cliente/servidor Para DATE (2003), o objetivo geral de sistemas de banco de dados é fornecer suporte ao desenvolvimento e à execução de aplicações de bancos de dados. Portanto, sob um ponto de vista 40
ADMINISTRAÇÃO DE BANCO DE DADOS do mais alto nível, um sistema desse tipo pode ser considerado como tendo uma estrutura muito simples em duas partes, consistindo em um servidor, também chamado back end, e um conjunto de clientes, também chamados front ends, ou seja: 1. O servidor é o próprio SGBD. Ele admite todas as funções básicas do SGBD (definição de dados, manipulação de dados, segurança e integridade de dados, etc.). Em outras palavras, o termo servidor, neste contexto, é tão somente um outro nome para o SGBD; 1 20 2. Os clientes são as diversas aplicações executadas em cima do SGBD tanto as aplicações escritas por usuários quanto as aplicações internas (built-in, ou seja, aplicações fornecidas pelo fabricante do SGBD ou por terceiros). No que se refere ao servidor, é claro que não existe diferença alguma entre aplicações escritas pelo usuário e aplicações internas; todas elas empregam a mesma interface para o servidor. Observamos também que certas aplicações especiais chamadas utilitárias, poderiam constituir uma exceção, já que elas às vezes poderiam ter de operar diretamente no nível interno do sistema. Esses utilitários normalmente são considerados componentes internos do SGBD, em vez de aplicações no sentido mais comum. Aplicações Máquina-cliente Acesso remoto transparente SGBD Máquina-servidora Fig..1 Cliente(s) e servidor funcionando em máquinas diferentes. 41
Unidade I Como podemos observar na Figura.1, o termo cliente/ servidor, embora seja uma expressão estritamente relacionada à arquitetura, passou a ser quase um sinônimo da disposição ilustrada, na qual o cliente e o servidor funcionam em máquinas diferentes. Máquinas-cliente Rede de comunicações Fig..2 Uma máquina-servidora, várias máquinas-cliente. De fato, como nos mostra DATE (2003), há muitos argumentos em favor de um esquema desse tipo: - O primeiro é basicamente o argumento mais comum sobre o processamento paralelo: especificamente, duas ou mais máquinas estão sendo agora aplicadas na tarefa geral, enquanto o processamento do servidor (o banco de dados) e do cliente (a aplicação) está sendo feito em paralelo. Assim, o tempo de resposta e a vazão (throughput) devem ser melhorados. 1 - Além disso, a máquina-servidora pode ser uma máquina feita por encomenda para se ajustar à função do SGBD (uma 42
ADMINISTRAÇÃO DE BANCO DE DADOS máquina banco de dados ) e pode assim fornecer melhor desempenho ao SGBD. 1 20 - Do mesmo modo, a máquina-cliente poderia ser uma estação de trabalho pessoal, adaptada às necessidades do usuário final e, portanto, capaz de oferecer interfaces melhores, alta disponibilidade, respostas rápidas e, de modo geral, maior facilidade de utilização para o usuário. - Várias máquinas-cliente distintas poderiam ser capazes (na verdade, normalmente serão capazes) de obter acesso à mesma máquina-servidora. Assim, um único banco de dados poderia ser compartilhado entre vários sistemas-cliente distintos, como pode ser visto na Figura.3. Prosseguindo com o exemplo do banco, é muito provável que os usuários de uma agência ocasionalmente tenham de obter acesso a dados armazenados em outra agência. Portanto, observe que as máquinas-cliente poderiam ter seus próprios dados armazenados, e a máquina-servidora poderia ter suas próprias aplicações. Dessa forma, cada máquina atuará como um servidor para alguns usuários e como cliente para outros, como na Figura.3; em outras palavras, cada máquina admitirá um sistema de banco de dados inteiro. 2 30 Além dos argumentos anteriores, DATE (2003) complementa observando que existe também o fato de que a execução do(s) cliente(s) e do servidor em máquinas diferentes corresponde ao modo como as empresas operam na realidade. É bastante comum que uma máquina (um banco, por exemplo) opere muitos computadores, de tal modo que os dados correspondentes a uma parte da empresa sejam armazenados em um computador e os dados de outra parte da empresa sejam armazenados em outro computador. 43
Unidade I Clientes Servidor Clientes Servidor Clientes Servidor Rede de comunicações Clientes Servidor Clientes Servidor Fig..3 Cada máquina pode executar tanto(s) cliente(s) como o servidor. Referências bibliográficas COUGO, P. Modelagem conceitual e projetos de banco de dados. Rio de Janeiro: Campos, 1997/ 2004. DATE, C.J. Introdução a Sistemas de Bancos de Dados. Rio de Janeiro: Elsevier, 2003. RAMEZ E.E.; SHAMKANT, E. Sistemas de Banco de Dados. São Paulo: Addison-Wesley, 200. MEDEIROS, M. Banco de dados para sistemas de informação. Florianópolis: Visual Books, 2006. SILBERSCHATZ, A.; KORTH, H.F.; SUDARSHA, S. Sistema de Banco de Dados. São Paulo: Makron, 1999. 44