0% acharam este documento útil (0 voto)
32 visualizações11 páginas

PostgreSQL X MySQL. Qual Escolher

Linguagem de Programação PostgreSQL

Enviado por

zedio francisco
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
32 visualizações11 páginas

PostgreSQL X MySQL. Qual Escolher

Linguagem de Programação PostgreSQL

Enviado por

zedio francisco
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd

27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

Artigo

Invista em você! Saiba como a DevMedia pode ajudar sua


carreira.

PostgreSQL x MySQL. Qual Escolher?


Veja neste artigo : PostgreSQL x MySQL. Qual Escolher?

Anotar Marcar como concluído

Artigos

Banco de Dados
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
privacidade.
PostgreSQL x MySQL. Qual Escolher?
Aceitar 33

[Link] 1/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

PostgreSQL x MySQL. Qual Escolher?

Kaui Aires Oliveira (e-mail) é Bacharelando em Sistemas de Informações. Possui larga

Experiência Profissional, cerca de 8 anos trabalhando com TI, é especialista em banco de dados e

segurança da informação. Experiências em Oracle, PostgreSQL, MsSQLServer, MySQL, DW, BI e etc.

Tendo trabalhado em grandes corporações, como Microsoft (New York), TATA Consultancy Services

do Brasil, IBM, Sebrae, FGV e, atualmente, no MEC. Tendo ainda bastante vivência também na

área acadêmica, publicando artigos e ministrando cursos/palestras sobre banco de dados, business

intelligence, datawarehouse e segurança da informação. E tem um site de publicações de matérias

e trabalho pessoal ([Link]).

Olá caros amigos. Mais um artigo que estou publicando e gostaria desta vez de falar sobre dois

excelentes SGBDs, fazendo as devidas comparações.

São dois SGBDs, ambos gratuitos. 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

Utilizamos cookies
mecanismo para fornecer
de bloqueio uma melhor
(MVCC veremos experiência
a seguir), para nossos
suporta usuários,
tamanhos consulte
ilimitados de nossa política
linhas, bancos de
privacidade.
de dados e tabelas (até 16TB), aceita vários tipos de sub-consultas, possui mais tipos de dados e
Aceitar 33

[Link] 2/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

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.

Isolamento das Transações

O Padrão SQL ANSI/ISSO define quatro níveis de isolamento de transações baseados nas seguintes

situações:

Dirty Reads: ocorre quando uma transação lê dados escritos por uma transação corrente que

ainda não foi confirmada (COMMIT).

Non-Repeatable Reads: uma transação lê um dado que ela já havia lido anteriormente, e

Utilizamos
descobre quecookies paradados
aqueles fornecer umamodificados
foram melhor experiência paratransação
por outra nossos usuários, consulte
(confirmada nossa
após política de
a primeira
privacidade.
leitura).
Aceitar 33

[Link] 3/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

Phantom Read: uma transação lê um conjunto de linhas que satisfaça algum critério de pesquisa.

Outra transação insere uma linha que satisfaça o critério da anterior. Se a primeira transação

executar novamente o comando de pesquisa, ela receberá um conjunto diferente de linhas.

Os quadros de níveis de isolamentos são descritos a seguir para você entender melhor.

Nível Descrição

Read Uma transação pode enxergar dados não confirmados

Uncommitted por outra transação

Read Uma transação não pode enxergar dados não

Committed confirmados por outra transação, até que estes dados

sejam confirmados.

Repeatable Uma transação neste nível garante que valores já

Read lidos não possam ser alterados por outra transação.

Serializable Uma transação só poderá interagir com outras

transações concorrentes no sentido de produzir o

mesmo efeito, como se cada transação estivesse

sendo executada uma após a outra.

A tabela a seguir mostra quais situações podem ocorrer em cada um dos níveis de isolamento:

Nível Dirty Reads Non- Phantom

Repeatable Read
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
Reads
privacidade.

Aceitar 33

[Link] 4/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

Read Possível Possível Possível

Uncommitted

Read Impossível Possível Possível

Committed

Repeatable Impossível Impossível Possível

Read

Serializable Impossível Impossível Impossível

Obs.: No PostgreSQL estão disponíveis os níveis de isolamento READ, COMMITTED e

SERIALIZABLE.

Para Finalizar um Bate–bola rápido...

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.

[Link]
Distribuição de dados
cookies em múltiplos
para fornecer discosexperiência
uma melhor deve ser feita manualmente,
para nossos usuários, por meionossa
consulte de links
política de
privacidade.
simbólicos.

e. Segurança via SSL


Aceitar 33

[Link] 5/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

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
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
disponíveis muito mais tarde em alguns sistemas de banco de dados comerciais.
privacidade.

Aceitar 33

[Link] 6/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

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 muitas funcionalidades

modernas, como:

. comandos complexos

. chaves estrangeiras

. gatilhos

. visões

. integridade transacional

. controle de simultaneidade multiversão

Além disso, o PostgreSQL pode ser estendido pelo usuário de muitas maneiras como, por exemplo,

adicionando novos:

. tipos de dado

. funções

. operadores

. funções de agregação

. métodos de índice

. linguagens procedurais

Devido à sua licença liberal, o PostgreSQL pode ser utilizado, modificado e distribuído por qualquer

pessoa para qualquer finalidade, seja privada, comercial ou acadêmica, livre de encargos.

g. Implementação completa dos padrões ANSI para o SQL, como selects aninhados, integridade

referencial, views, triggers,...

h. Extensões orientadas a objeto, como tipos abstratos de dados, herança, atributos

multivaluados...

i. Utilizamos cookies para


Funções definidas pelofornecer uma
usuário, melhor
mas experiência
que não podem para nossos
retornar usuários,portanto
registros, consulte nossa política
não tem aindadea
privacidade.
mesma funcionalidade dos procedimentos armazenados em outros bancos

Aceitar 33
j. Servidor em múltiplos processos: um único processo postmaster recebe as conexões de rede, e

[Link] 7/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

inicia um processo postgres para cada cliente

l. Uso intensivo de memória compartilhada e semáforos – pode ser necessário ajustar parâmetros

do kernel para melhorar o desempenho ou para atender a cargas de trabalho maiores

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

Podem ser configurados vários diretórios diferentes para hospedar (arquivos de) bancos de dados

n. Segurança via Kerberos e/ou SSL

o. Views funcionais

p. Funções definidas pelo usuário em TCL, Perl, C,...

q. Outer joins

r. Postgres file system, para suporte a raw devices

s. Máquina Virtual Java integrada ao banco

t. Backups on-line rápidos

u. Two-phase commit.

Plataformas Plataformas Suportadas Pelo PostgreSQL

a. Sistemas Unix-like

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

c. Windows NT/2000/XP/NET (Cygwin) e MacOS X

d. Cliente

e. Bibliotecas nativas C para Unix, Win95/NT e OS/2

f. Drivers ODBC (2.5) e dbExpress nativos para Unix e Windows Driver JDBC 1.0 (2.0 parcial)

100% Java

Quando Usar o PostgreSQL

Aplicações com fortes componentes transacionais. Aplicações que necessitem de tipos de dados

especializados, como Sistemas de Informações Geográficas (SIG) e repositórios de meta-dados


Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
Projetos baseados em metodologias Orientadas Objeto – perda de compatibilidade com o padrão
privacidade.

Aceitar 33

[Link] 8/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

ANSI SQL Aplicações OLAP “light”, que não necessitem do nível de sofisticação de um

DataWarehouse.

Agora é com você! Grande Abraço!

Anotar Marcar como concluído

Confira outros conteúdos:

SQL SUM: somando os valores de SQL: INNER JOIN


uma...

12x
Em caso de dúvidas chame no whatsapp

PLANO PRO
Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
privacidade.

Aceitar 33
Formação FullStack completa
[Link] 9/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

Projetos reais
Professores online
Exercícios gamificados
Certificado de autoridade

MATRICULE-SE

Por Imaster1
Em 2006

Tecnologias

Exercicios

Artigos

Quem Somos

Fale conosco

Plano para Instituição de ensino

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
Assinatura para empresas
privacidade.

Assine agora
Aceitar 33

[Link] 10/11
27/03/2023, 18:32 PostgreSQL x MySQL. Qual Escolher?

Hospedagem web por Porta 80 Web Hosting.

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de
privacidade.

Aceitar 33

[Link] 11/11

Você também pode gostar