Linha 14: Linha 14:
|Totalmente Open Source || Open source, mas de propriedade da Oracle e oferece versões comerciais
|Totalmente Open Source || Open source, mas de propriedade da Oracle e oferece versões comerciais
|-  
|-  
|Conformidade ACID* || Total conformidade || Algumas versões estão em conformidade
|Conformidade ACID* || Total conformidade || Suportado
|-
|-
|Suporte a concorrencia
|Suporte a concorrencia
| A implementação MVCC suporta múltiplos pedidos sem bloqueios de leitura || Suporta em algumas versões
| A implementação MVCC suporta múltiplos pedidos sem bloqueios de leitura || Suportado
|-
|-
|Segurança || Seguro desde o início com o suporte SSL || SSL suportado em algumas versões
|Segurança || Seguro desde o início com o suporte SSL || SSL suportado em algumas versões

Edição das 13h19min de 12 de janeiro de 2018

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. 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.


Matriz de Decisão

Feature PostgreSQL MySQL
Open Source Totalmente Open Source Open source, mas de propriedade da Oracle e oferece versões comerciais
Conformidade ACID* Total conformidade Suportado
Suporte a concorrencia A implementação MVCC suporta múltiplos pedidos sem bloqueios de leitura Suportado
Segurança Seguro desde o início com o suporte SSL SSL suportado em algumas versões
NoSQL/ JSON Ambos Apenas JSON
Métodos de Acesso Suporta todos os padrões Suporta todos os padrões
Replicação

Single master to one standby

Single master to multiple standbys

Bi-Directional replication

Hot Standby/Streaming Replication

Logical log streaming replication

Cascading replication

Master to master

Single master to one standby

Single master to multiple standbys

Circular replication (A to B to C and back to A)

Single master to one standby to one or more standbys


Materialized View Suportado Não Suportado
Tabelas Temporarias Suportado Suportado
Dados geoespaciais Suportado Suportado
Sistema de tipo extensível Suportado Não Suportado
Implementando em C C e C++


  • ACID(Atomicity, Consistency, Isolation, Durability): (Atomicidade, Consistência, Isolação, Durabilidade) é um conjunto de propriedades das transações de banco de dados. A conformidade ACID garante que nenhum dado é perdido em caso de falha, mesmo quando há várias mudanças feitas durante uma única transação.
  • Suporte a concorrencia: MVCC (Multi-Version Concurrency Control) é uma técnica avançada do PostgreSQL que resolve o 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.

Referencia

https://db-engines.com/en/system/MySQL%3BPostgreSQL

https://www.2ndquadrant.com/en/postgresql/postgresql-vs-mysql/

https://pt.stackoverflow.com/questions/8609/quais-as-vantagens-e-desvantagens-entre-mysql-e-postgresql