TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Comparativo PostgreSQL X MySQL

Trabalho Universitário: Comparativo PostgreSQL X MySQL. Pesquise 860.000+ trabalhos acadêmicos

Por:   •  21/12/2013  •  1.011 Palavras (5 Páginas)  •  391 Visualizações

Página 1 de 5

O MySQL está disponível sob a GPL (Licença Pública GNU), além de possuir uma licença convencional, para quem não quiser estar limitado aos termos da GPL. Já o PostgreSQL está disponível sob a flexível licença BSD.

O MySQL é o mais utilizado no desenvolvimento de aplicações onde a velocidade é importante (porém isto tem mudado com versões mais recentes do PostgreSQL), enquanto que o PostgreSQL se destaca por ser mais robusto e possuir muito mais recursos que o MySQL. Esses recursos tornam o PostgreSQL um “banco de dados” no conceito de muita gente.

Nas últimas versões do MySQL, os desenvolvedores acrescentaram diversos recursos que já existiam no PostgreSQL como transações (confirmação e cancelamento de operações realizadas COMMIT e ROLLBACK), triggers (gatilhos), Stored Procedures (Procedimentos Armazenados), views (visões), lock line (bloqueio em nível de linha) e constraints (cláusulas de integridade).

No entanto, o PostgreSQL continua sendo mais eficiente em vários aspectos. Possui um sofisticado mecanismo de bloqueio (MVCC veremos a seguir), suporta tamanhos ilimitados de linhas, bancos de dados e tabelas (até 16TB), aceita vários tipos de sub-consultas, possui mais tipos de dados e conta com um bom mecanismo de FAILSAVE (Segurança contra falhas, por exemplo no desligamento repentino do sistema).

Como já foi dito no início deste artigo, a vantagem do MySQL ainda é a velocidade de acesso (que às vezes nem é notada pois está na escala de milésimos de segundo). Para bases de dados muito grandes, complexas e que exige confiabilidade e escalabilidade vale a pena usar o PostgreSQL. Para base de dados menores, não há diferença na velocidade ou pode se desconsiderar os milésimos de segundos entre os dois SGBDs.

A Técnica MVCC – PostgreSQL

Multi-Version Concurrency Control (MVCC) é uma técnica avançada do PostgreSQL que resolve aquele antigo problema de ambientes multiusuários de banco de dados, os LOCKs (bloqueios) que fazem o usuário ficar esperando.

Ao contrário de outros SGBDs que utilizam que utilizam LOCKs para controle de concorrência, o PostgreSQL mantém a consistência dos dados usando um modelo multiversão. Neste modelo, cada transação terá sua versão do banco de dados, estando protegidas de acessar dados inconsistentes que poderiam ser gerados por outras transações. Portanto, o MVCC oferece o isolamento de transações, alem de garantir que leituras nunca aguardarão escritas e vice-versa.

Características do MySQL

Foco em facilidade de administração e baixo consumo de recursos do hardware. Tornou-se popular graças à Internet, pois os bancos tradicionais tinham tempos de conexão extremamente elevados, inadequados para aplicações CGI. Para atingir seus objetivos, não implementava funções com grande overhead como integridade referencial, commit, rollback e níveis de isolamento de transação.

a. Servidor multithreaded:

b. Um único processo mysqld atende a todos os clientes.

c. Tabelas e índices correspondem à arquivos físicos e bancos de dados correspondem à diretórios.

d. Distribuição de dados em múltiplos discos deve ser feita manualmente, por meio de links simbólicos.

e. Segurança via SSL

f. Com suporte à transações

g. Recursos SQL mais sofisticados, como agregados, COMMIT e ROLLBACK, triggers (gatilhos), Stored Procedures (Procedimentos Armazenados), views (visões), lock line (bloqueio em nível de linha) e constraints (cláusulas de integridade).

h. Maior compatibilidade com o padrão ANSI.

Plataformas Plataformas Suportadas pelo MySQL

a. Servidor

b. Sistemas Unix-Like:

c. GNU/Linux, FreeBSD, Solaris, AIX, HP-UX,...

d. Win32: Windows 95/98/ME, Windows NT/2000/XP/NET

e. OS/2 (em desenvolvimento para BeOS e LynxOS)

f. Cliente: Drivers ODBC e dbExpress para Unix e Windows Várias ofertas de drivers JDBC 2.0 100% Java.

Quando Usar o MySQL

a. Back-end para geração de conteúdo de web sites

b. Aplicação envolvendo basicamente consultas e adição de dados. Sugiro não usar para aplicações com fortes demandas transacionais, especialmente se houverem atualizações concorrentes!

c. Empresas como o Yahoo Finance combinam o MySQL (aplicações web) com um outro banco de dados (retaguarda financeira).

Características do PostgreSQL

O PostgreSQL é um sistema gerenciador de banco de dados objeto-relacional (SGBDOR), baseado no PostgreSQL desenvolvido pelo Departamento de Ciência da Computação da Universidade da Califórnia em Berkeley. O POSTGRES foi pioneiro em vários conceitos que somente se tornaram disponíveis muito mais tarde em alguns sistemas de banco de dados comerciais.

O PostgreSQL é um descendente de código fonte aberto deste código original de Berkeley. É suportada grande parte do padrão SQL:2003, além de serem oferecidas

...

Baixar como (para membros premium)  txt (7.3 Kb)  
Continuar por mais 4 páginas »
Disponível apenas no TrabalhosGratuitos.com