Uma observação para os futuros leitores: O texto abaixo foi editado pela última vez em agosto de 2008. Há quase 11 anos, a partir desta edição. O software pode mudar rapidamente de versão para versão; portanto, antes de escolher um DBMS com base nos conselhos abaixo, faça uma pesquisa para verificar se ele ainda é preciso. Verifique as respostas mais recentes abaixo.
Melhor?
O MySQL é muito mais comumente fornecido por hosts da web.
O PostgreSQL é um produto muito mais maduro.
Há essa discussão abordando sua pergunta "melhor"
Aparentemente, de acordo com esta página da web , o MySQL é rápido quando os níveis de acesso simultâneo são baixos e quando há muito mais leituras do que gravações. Por outro lado, exibe baixa escalabilidade com cargas crescentes e taxas de gravação / leitura. O PostgreSQL é relativamente lento em baixos níveis de simultaneidade, mas se adapta bem ao aumento dos níveis de carga, ao mesmo tempo em que fornece isolamento suficiente entre acessos simultâneos para evitar lentidão nas altas taxas de gravação / leitura. Ele continua a vincular-se a várias comparações de desempenho, porque essas coisas são muito ... sensíveis às condições.
Portanto, se seu fator de decisão é "o que é mais rápido? ", Então a resposta é "depende. Se realmente importa, teste seu aplicativo em relação a ambos. " E se você realmente se importa, recebe dois DBAs (um especialista em cada banco de dados) e faça com que eles ajustem a porcaria dos bancos de dados e escolha. É impressionante o quão caro boas DBAs são; e valem cada centavo .
Quando importa.
O que provavelmente não funciona, basta escolher o banco de dados que você mais gosta e seguir com ele; melhor desempenho pode ser comprado com mais RAM e CPU, e design de banco de dados mais apropriado, truques inteligentes de procedimentos armazenados e assim por diante - e tudo isso é mais barato e fácil para o site aleatório-X do que agonizar sobre o que escolher, MySQL ou PostgreSQL e ajuste especializado de DBAs caros.
Joel também disse naquele podcast que o comentário voltaria para mordê-lo, porque as pessoas diriam que o MySQL era uma porcaria - Joel não conseguiu
count
recuperar algumas linhas. O plural de anedota não é dados.
Ele disse :
O MySQL é o único banco de dados contra o qual já programei em minha carreira que teve problemas de integridade de dados, nos quais você faz consultas e recebe respostas sem sentido, incorretas.
e ele também disse:
É apenas uma anedota. E essa é uma das coisas que me frustra, na verdade, sobre blogs ou apenas a Internet em geral. [...] Há apenas uma tendência estranha de transformar anedotas em verdades e eu, na verdade, como blogueira, estou começando a me sentir um pouco culpada por isso
Apenas tocando alguns meses depois.
As capacidades geográficas dos dois bancos de dados são muito, muito diferentes. O PostgreSQL possui a excepcional extensão PostGIS. A funcionalidade geográfica do MySQL é praticamente zero em comparação.
Se o seu serviço da web tiver um componente de localização, escolha PostgreSQL.
fonte
Eu não usei o Django, mas usei o MySQL e o PostgreSQL. Se você usará seu banco de dados apenas como back-end para o Django, não importa muito, porque abstrairá a maioria das diferenças. O PostgreSQL é um pouco mais escalável porque não atinge a parede de tijolos tão rápido quanto o MySQL à medida que o tamanho dos dados / número de clientes aumenta.
A verdadeira diferença entra se você estiver criando um novo sistema. Então, eu recomendo o PostgreSQL, porque ele tem muito mais recursos que tornam a camada do DB muito mais personalizável, para que você possa ajustá-lo a qualquer requisito que possa ter.
fonte
Embora esteja um pouco desatualizado, vale a pena ler a página Gotchas do MySQL . Muitos dos itens listados ainda são verdadeiros, pelo que sei.
Eu uso o PostgreSQL.
fonte
Eu uso os dois extensivamente. Minha escolha para um projeto específico se resume a:
Por molho especial, quero dizer coisas como:
fonte
Bem, eu não acho que você deva usar uma marca de banco de dados diferente em qualquer desenvolvimento anterior (compilação, preparo, prod), pois isso voltará a incomodá-lo.
Pelo que entendi, o PostgreSQL é uma implementação de banco de dados mais 'correta', enquanto o mySQl é menos correto (menos compatível), mas mais rápido.
Portanto, se você está praticamente escrevendo um aplicativo CRUD, o mySQL é o caminho a seguir. Se você precisar de certos recursos do seu banco de dados (se você não tiver certeza, não precisa), convém consultar o postgreSQL.
fonte
Se você está escrevendo um aplicativo que pode ser distribuído bastante em servidores diferentes, o MySQL tem muito peso sobre o PostgreSQL devido à portabilidade. É difícil encontrar o PostgreSQL em hosts da web menos que satisfatórios, embora existam alguns. Na maioria dos aspectos, o PostgreSQL é mais lento que o MySQL, especialmente quando se trata de ajustes finos no final. Em suma, eu diria para dar uma chance ao PostgreSQL por um curto período de tempo, para que você não a evite completamente e faça um julgamento.
fonte
Obrigado. Eu usei o Django com MySQL e está tudo bem. Escolha seu banco de dados com os recursos que você precisa. Difícil comparar MySQL e Postgres. Melhor comparar o Postgress com o SQl Server.
fonte
@WolfmanDragon
O PostgreSQL possui (minúsculo) suporte para objetos, mas é, por natureza, um banco de dados relacional. Na página sobre :
fonte
MySQL é um sistema de gerenciamento de banco de dados relacional , enquanto PostgreSQL é um objeto sistema de gerenciamento de banco de dados -relational . O PostgreSQL é adequado para desenvolvedores de C ++ ou Java, pois nos dá mais controle sobre como as consultas são gravadas. O ORDBMS também nos fornece objetos e tipos definidos pelo usuário. As consultas SQL são muito mais próximas dos padrões ISO do que o MySQL.
Você precisa de um ORDBMS ou um RDBMS? Isso responderá melhor à sua pergunta.
fonte