Una nota para futuros lectores: el texto a continuación se editó por última vez en agosto de 2008. Eso fue hace casi 11 años a partir de esta edición. El software puede cambiar rápidamente de una versión a otra, por lo que antes de elegir un DBMS según los consejos a continuación, investigue un poco para ver si aún es preciso. Verifique las respuestas más recientes a continuación.
¿Mejor?
MySQL es mucho más comúnmente proporcionado por los servidores web.
PostgreSQL es un producto mucho más maduro.
Hay una discusión que aborda su "mejor" pregunta
Aparentemente, de acuerdo con esta página web , MySQL es rápido cuando los niveles de acceso concurrente son bajos y cuando hay muchas más lecturas que escrituras. Por otro lado, exhibe baja escalabilidad con cargas crecientes y relaciones de escritura / lectura. PostgreSQL es relativamente lento a niveles de concurrencia bajos, pero se escala bien con niveles de carga crecientes, al tiempo que proporciona suficiente aislamiento entre los accesos concurrentes para evitar ralentizaciones con altas tasas de escritura / lectura. Luego se vincula a una serie de comparaciones de rendimiento, porque estas cosas son muy ... sensibles a las condiciones.
Entonces, si su factor de decisión es "¿ cuál es más rápido? ", Entonces la respuesta es "depende. Si realmente importa, pruebe su solicitud en contra de ambos " . Y si realmente le importa, obtiene dos DBA (uno que se especializa en cada base de datos) y haga que sintonicen la basura de las bases de datos, y luego elija. Es sorprendente lo caros que son los buenos DBA; y valen cada centavo .
Cuando importa
Lo que probablemente no sea así, así que simplemente elija la base de datos que le guste y vaya con ella; se puede comprar un mejor rendimiento con más RAM y CPU, y un diseño de base de datos más apropiado, y trucos inteligentes de procedimientos almacenados, etc., y todo eso es más barato y más fácil para el sitio web X aleatorio que agonizar sobre cuál elegir, MySQL o PostgreSQL y ajuste especializado de DBA caros.
Joel también dijo en ese podcast que el comentario volvería a morderlo porque la gente diría que MySQL fue una mierda, Joel no pudo recuperar una
count
fila. El plural de anécdota no es datos.
El dijo :
MySQL es la única base de datos contra la que he programado en mi carrera que ha tenido problemas de integridad de datos, donde haces consultas y recibes respuestas sin sentido, que son incorrectas.
y él también dijo:
Es solo una anécdota. Y esa es una de las cosas que me frustra, en realidad, sobre los blogs o simplemente Internet en general. [...] Hay una extraña tendencia a convertir las anécdotas en verdades y, en realidad, como blogger estoy empezando a sentirme un poco culpable por esto
Solo repicando muchos meses después.
Las capacidades geográficas de las dos bases de datos son muy, muy diferentes. PostgreSQL tiene la excepcional extensión PostGIS. La funcionalidad geográfica de MySQL es prácticamente cero en comparación.
Si su servicio web tiene un componente de ubicación, elija PostgreSQL.
fuente
No he usado Django, pero he usado tanto MySQL como PostgreSQL. Si usará su base de datos solo como un back-end para Django, no importa mucho, ya que abstraerá la mayoría de las diferencias. PostgreSQL es un poco más escalable porque no golpea la pared de ladrillo tan rápido como MySQL a medida que aumenta el tamaño de datos / conteo de clientes.
La verdadera diferencia viene si estás haciendo un nuevo sistema. Entonces recomendaría PostgreSQL sin dudas, porque tiene muchas más características que hacen que su capa de base de datos sea mucho más personalizable, para que pueda ajustarla a los requisitos que pueda tener.
fuente
Aunque está un poco desactualizado, valdría la pena leer la página de MySQL Gotchas . Muchos de los elementos enumerados allí siguen siendo ciertos, que yo sepa.
Yo uso PostgreSQL.
fuente
Yo uso ambos ampliamente. Mi elección para un proyecto en particular se reduce a:
Por salsa especial me refiero a cosas como:
fuente
Bueno, no creo que deba usar una marca de base de datos diferente en cualquier desarrollo anterior (compilación, puesta en escena, producción) ya que eso volverá a morderlo.
Según tengo entendido, PostgreSQL es una implementación de base de datos más 'correcta', mientras que mySQl es menos correcta (menos compatible) pero más rápida.
Entonces, si está escribiendo una aplicación CRUD, mySQL es el camino a seguir. Si necesita ciertas características de su base de datos (si no está seguro, entonces no lo hace), entonces es posible que desee examinar postgreSQL.
fuente
Si está escribiendo una aplicación que puede distribuirse bastante en diferentes servidores, MySQL tiene mucho peso sobre PostgreSQL debido a la portabilidad. PostgreSQL es difícil de encontrar en servidores web poco satisfactorios, aunque hay algunos. En la mayoría de los casos, PostgreSQL es más lento que MySQL, especialmente cuando se trata de un ajuste fino al final. Con todo, yo diría que le des una oportunidad a PostgreSQL por un corto período de tiempo, de esa manera no lo estás evitando por completo, y luego juzgas.
fuente
Gracias. He usado Django con MySQL y está bien. Elija su base de datos en las características que necesita. Difícil de comparar MySQL y Postgres. Es mejor comparar Postgress con SQl Server.
fuente
@WolfmanDragon
PostgreSQL tiene (pequeño) soporte para objetos, pero es, por naturaleza, una base de datos relacional. De su página acerca de :
fuente
MySQL es un sistema de gestión de base de datos relacional , mientras que PostgreSQL es un objeto del sistema de gestión de base de datos -relational . PostgreSQL es adecuado para desarrolladores de C ++ o Java, ya que nos da más control sobre cómo se escriben las consultas. ORDBMS también nos proporciona objetos y tipos definidos por el usuario. Las consultas SQL en sí mismas están mucho más cerca de los estándares ISO que MySQL.
¿Necesita un ORDBMS o un RDBMS? Eso responderá mejor a tu pregunta.
fuente