• Nenhum resultado encontrado

UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO CAMPUS SANTA MARIA. PostgreSQL ou MySQL. Quando utilizar um desses SGBDs.

N/A
N/A
Protected

Academic year: 2021

Share "UNIVERSIDADE LUTERANA DO BRASIL CURSO DE SISTEMAS DE INFORMAÇÃO CAMPUS SANTA MARIA. PostgreSQL ou MySQL. Quando utilizar um desses SGBDs."

Copied!
14
0
0

Texto

(1)

PostgreSQL ou MySQL

Quando utilizar um desses SGBDs

por

Anderson Davi da Cunha Naidon, Daniel Flores Bastos, Gleizer Bierhalz Voss

Trabalho de Pesquisa Interdisciplinar do curso de Sistemas de Informação Orientador: Profº Gustavo Kantorski

(2)

5 CONCLUSÃO...13

6 BIBLIOGRAFIA...14

(3)

INTRODUÇÃO

Este trabalho tem como foco orientar na escolha entre o MySQL e o PostgreSQL para sua aplicação, apresentando as principais características de ambos. Para tanto, é recomendável que você tenha algum conhecimento sobre os conceitos de banco de dados.

Atualmente há vários tipos de Sistemas Gerenciadores de Banco de Dados (SGBD) livres, analisando-os de uma forma geral sempre surge a pergunta: ”Qual é o melhor SGBD?”.

Na realidade não há como generalizar, e afirmar qual é o melhor, levando em consideração um âmbito geral, pois cada um é dotado de características interessantes e é mais indicado para determinada aplicação. É indispensável analisar cada situação individualmente para verificar o SGBD mais aconselhável, levando em consideração vários fatores, tais como: onde irá rodar a aplicação, qual a quantidade de dados envolvidos e qual a plataforma que será utilizada. Com essas informações em mãos se torna mais simples escolher a ferramenta que melhor atenderá sua necessidade.

Analisando os conteúdos de revistas especializadas no assunto, como SQL magazine e com base em debates de especialistas da área, chegou-se ao consenso de que dois SGBDs em especial, vem evoluindo de maneira significativa, são eles: MySQL e PostgreSQL.

(4)

2. OBJETIVO

Elaborar um estudo demonstrando as principais características dos Sistemas Gerenciadores de Banco de Dados (SGBDs) MySQL e PostgreSQL, servindo como base para a tomada de decisão na escolha de um deles, de forma a obter o melhor desempenho, considerando que já se tenha um breve conhecimento sobre o assunto.

(5)

3. PROBLEMA

PostgreSQL ou MySQL: Quando utilizar um desses SGBDs?

Com os vários tipos de Sistemas Gerenciadores de Banco de Dados livres existentes atualmente, fica difícil optar por um deles, após estudos preliminares chegou-se ao consenso sobre estes dois SGBDs PostgreSQL e MySQL, mas fica o questionamento quando utilizar um desses SGBDs?

(6)

4. HIPÓTESES

 Utiliza-se o MySQL quando a aplicação exigir retornos rápidos e não envolver operações complexas.

Com baixa exigência de processamento este é um dos SGBDs mais famosos na web, pelo fato de ter grande compatibilidade com diversas linguagens de programação e por tratar as informações de forma tão rápida que por muitos, é considerado o SGBD mais rápido, o que torna esta hipótese verdadeira.

 Utiliza-se o PostgreSQL quando a aplicação envolve grande volume de dados ou que trata informações críticas.

O PostgreSQL pela sua alta capacidade de tratar com comandos complexos e grandes volumes de dados, vem sendo uma das ferramentas usadas por grandes empresas, com o código aberto, já vem sendo comparado com os grandes e tradicionais SGBDs como Oracle, desta forma à exemplo da hipótese anterior esta hipótese também é positiva.

 Não há como definir uma situação específica para quando se deve utilizar um desses SGBDs.

Como já vimos, o PostgreSQL é recomendado para sistemas complexos e/ou com alto volume de dados, porém apesar das pesquisas não encontramos uma maneira certa de medir exatamente a complexidade de um sistema. Acreditamos

(7)

que este seja uma das maiores dúvidas na hora de se optar por um SGBD. O mais interessante para se fazer quando se deparar com uma situação dessas é medir o número de relacionamentos e tentar imaginar num curto prazo de tempo a quantidade de dados que irão ser armazenados e calcular para um longo prazo de tempo.

(8)

5. REFERENCIAL TEÓRICO-CONCEITUAL

Trataremos a seguir de mostrar algumas informações de cada um dos dois SGBDs (MySQL e PostgreSQL) para que possamos então, tirar melhores conclusões. Devido a grande quantidade de nomes e recursos, até mesmo as pessoas que já estão familiarizadas com banco de dados podem ficar sem compreender alguns termos. Desta forma, Emerson Alecrim em seu artigo, nos mostra uma lista sobre os recursos mais importantes e uma breve explicação sobre cada um deles:

- Referential integrity: também conhecido como "integridade referencial", esse recurso consiste em restrições ou regras existentes para uma correta inserção de dados, por exemplo, para impedir que uma tabela seja preenchida sem que isso ocorra em outra:

- Schemas: recurso que permite cruzar informações em um mesmo banco de dados, mas em estruturas diferentes;

- SQL: sigla para Structured Query Language, é uma linguagem utilizada em bancos de dados relacionais;

- SSL: sigla para Secure Sockets Layer, consiste em um protocolo para a troca segura de informações;

- Stored procedures: esse recurso consiste em comandos SQL "guardados" no servidor para, por exemplo, executar tarefas repetitivas, evitando que um cliente tenha que executá-las constantemente;

(9)

instruções executadas em um bloco designado por parâmetros que indicam seu início e seu fim;

- Triggers: também chamados de gatilhos, os triggers são recursos que permitem o acionamento de uma seqüência de comandos logo em seguida ou logo após um evento;

- Views: os views consistem em um tipo de tabela virtual formada por campos extraídos de uma tabela "verdadeira", facilitando o controle sob os dados acessados.

Após esclarecer algumas dúvidas referentes aos nomes dos recursos iremos tratar de descrever mais detalhadamente sobre os SGDBs MySQL e PostgreSQL.

MySQL

Um dos mais populares SGBDs que existe é o MySQL, sua característica de ser otimizado para aplicações Web, o torna amplamente utilizado na internet. E por isso é muito comum encontrar serviços de hospedagem de sites que oferecem o MySQL como padrão.

Sua popularidade é ainda influenciada por outro fator, que é sua disponibilidade para praticamente qualquer sistema operacional, como Linux, FreeBSD (e outros sistemas baseados em Unix), Windows e Mac OS X. Além disso, por MySQL se tratar de é um software livre (sob licença GPL), qualquer um pode analisar, estudar ou modificar conforme a necessidade.

As principais características técnicas do SGBD MySQL, são:

- Altamente compatível com linguagens como PHP, Java, Python, C#, Ruby e C/C++;

- Baixa exigência de processamento (se comparado com outros SGBDs);

- Vários sistemas de armazenamento de dados (database engine), como MyISAM, MySQL Cluster, CSV, Merge, InnoDB, entre outros;

- Recursos como transactions (transações), conectividade segura, indexação de campos de texto, replicação, etc;

- Instruções em SQL, como indica o nome.

Foi lançada recentemente a versão 5.4 do MySQL, porém é apenas um

(10)

- Suporte total ao Unicode;

- INFORMATION_SCHEMA (para armazenamento do dicionário de dados); - Server side cursors;

- Suporte a SSL;

- Melhoria no tratamento de erros.

É importante destacar ainda que o MySQL possui também uma licença comercial, ou seja, paga. Desta forma, pode-se obter suporte diferenciado dos desenvolvedores.

PostgreSQL

Um breve histórico sobre o SGDB PostgreSQL, seu início se deu na Universidade de Berkeley, na Califórnia, em 1986. Um programador chamado Michael Stonebraker, na época liderou um projeto para a criação de um servidor de banco de dados relacionais chamado Postgres, este projeto era oriundo de um outro projeto da mesma instituição denominado Ingres. Então essa tecnologia foi adquirida pela Illustra, empresa posteriormente comprada pela Informix. Porém, mesmo diante disso, dois estudantes de Berkeley (Jolly Chen e Andrew Yu) compatibilizaram o Postgres à linguagem SQL. Este projeto recebeu o nome de Postgres95.

Dez anos depois, já em 1996, quando o projeto estava estável, o banco de dados recebeu o nome de PostgreSQL. Porém, houve várias mudanças enquanto ainda possuía o nome Postgres95. O seu código foi totalmente revisado e a linguagem SQL foi definida como padrão.

(11)

Tecnicamente falando, o PostgreSQL é um banco de dados relacional e orientado a objetos. Uma de suas características é possuir recursos comuns a banco de dados de grande porte, o que o deixa apto a trabalhar, inclusive, com operações de missão crítica. Além disso, trata-se de um banco de dados versátil, seguro, gratuito e de código aberto (disponível sob uma licença BSD).

O PostgreSQL é otimizado para aplicações complexas, isto é, que envolvem grandes volumes de dados ou que tratam de informações críticas. Assim, para um sistema de comércio eletrônico de porte médio/alto, por exemplo, o PostGreSQL é mais interessante, já que esse SGBD é capaz de lidar de maneira satisfatória com o volume de dados gerado pelas operações de consulta e venda.

Entre suas características, tem-se:

− Compatibilidade multi-plataforma, ou seja, executa em vários sistemas operacionais, como Windows, Mac OS X, Linux e outras variantes de Unix;

- Compatibilidade com várias linguagens, entre elas, Java, PHP, Python, Ruby, e C/C++;

- Base de dados de tamanho ilimitado; - Tabelas com tamanho de até 32 TB;

- Quantidade de linhas de até 1.6 TB ilimitada; - Campos de até 1 GB;

- Suporte a recursos como triggers, views, stored procedures, SSL, MVCC, schemas, transactions, savepoints, referential integrity e expressões regulares; - Instruções em SQL, como indica o nome.

Abaixo temos uma tabela que coloca os dois SGBDs “cara a cara ”, mostrando suas principais características e permitindo uma melhor comparação:

(12)

Transações Sim Sim, usando o motor InnoDB

Replicação de dados Sim Sim

Suporte a Chave estrangeira Sim Sim

Views Sim Sim

Stored procedures Sim Sim

Triggers Sim Sim

joins completo Sim Sim

TableSpace Sim Sim

MVCC (MultiVersion Concurrency Control)

Sim Sim

Vacuum (cleanup) Sim Não

ODBC Sim Sim

JDBC Sim Sim

Diferentes tipos de tabela (múltiplos Storage Engines)

Não Sim

(13)

6. CONCLUSÃO

Após este estudo chegamos à conclusão que para cada tipo de sistema há um SGBD apropriado suprindo suas necessidades, por isso não basta apenas entender de linguagem SQL ou de um sistema gerenciador de banco de dados específico, primeiramente é necessário saber qual a complexidade de seu sistema, para que apartir disso possa escolher o melhor SGBD para seu sistema.

Com este trabalho servindo de apoio para estudo conseguimos chegar a conclusão que o MySQL e o PostgreSQL apesar de suas semelhanças, são SGBDs de aplicações diferentes, MySQL é mais indicado para os sistemas que necessitem de respostas rápidas, como nos casos de web sites, e o PostgreSQL é recomendado para sistemas de grandes complexidades, com operações críticas e de grande volume de dados.

Deixamos como sugestão para trabalhos futuros um estudo sobre como medir exatamente a complexidade de um sistema, desta forma ficaria mais simples e direto a escolha por um SGBD ou outro.

(14)

7. BIBLIOGRAFIA

Suehring, Steve. MySQL - A Bíblia. Tradução de Edson Furmankiewicz. Rio de Janeiro : Campus 2002

SILBERSCHATZ, Abraham; KORTH, Henry F.; SUDARSHAN, S. Sis-tema de Banco de Dados. 3. ed. São Paulo: Makron Books do Brasil, 1999.

Alecrim, Emerson. Banco de dados MySQL e PostgreSQL.

Disponível em: http://www.infowester.com/postgremysql.php Acesso em 10 de junho de 2009.

Lozano, Fernando. MySQL x PostgreSQL: Quando Usar Cada Um. Disponível em: http://www.lozano.eti.br Acesso em 10 de junho de 2009.

Oliveira, Kaui A. PostgreSQL x MySQL. Qual Escolher? Disponível em: http://www.devmedia.com.br Acesso em 11 de junho de 2009.

 http://www.postgresql.org.br Acesso em 11 de junho de 2009.  http://www.mysqlbrasil.com.br Acesso em 10 de junho de 2009.

Análise SGBDs free. Revista SQL magazine, 37ª ed. Dez 06.

Carvalho, Marcos. MySQL vs. PostgreSQL. Disponível em

http://koruja.org/blog/mysql-vs-postgresql/ Acesso em 09 de junho de 2009.

Referências

Documentos relacionados

Biologia populacional de Pareiorhina rudolphi Pareiorhina rudolphi Pareiorhina rudolphi (Loricariidae, Pareiorhina rudolphi (Loricariidae, (Loricariidae, (Loricariidae,

Mortalidade média de lagartas de 1º e 3º instar de Alabama argillacea (Huebner, 1818) (Lepidoptera: Noctuidae) após 72 horas da aplicação em função da dose de extrato de

A campanha “Sem IVA custa menos” não é extensível aos serviços AKI....

GE5.2.3) Escreva a função de onda para a onda estacionária resultante. GE5.2.4) Verifique se a onda estacionária resultante obedece à Equação de Onda.. GE5.4) Modos Normais

No primeiro ano do mandato, centrando nosso foco de atuação como presidente da Comissão de Saneamento Ambiental da Alerj (Cosan) ampliamos os canais oficiais para que a

• Bancos revestidos de tecido escuro com padrão diamante com perponto cor de tungsténio e logo 80th. • Detalhes no interior em

Enquanto os elementos do organismo começavam sua evolução separados completamente uns dos outros (como organismos unicelulares) e desenvolviam uma interdependência cada vez maior,

No exemplo apresentado na Caixa: Como calcular a relação custo-eficácia, por exemplo, teria sido mais adequado comparar as taxas obtidas no caso de diferentes rubricas de custo para