2010-10-30 14 views

Respuesta

2

PostgreSQL admite consultas más avanzadas, se comporta mejor en consultas complicadas, pero es más difícil de administrar.

MySQL es rápido, fácil de administrar, pero puede encontrarse con limitaciones en consultas avanzadas, procedimientos almacenados y similares.

Son lo suficientemente similares que recomiendo comenzar con MySQL pero aprendiendo PostgreSQL también.

+4

Recientemente probé el instalador actual para PostgrSQL 9.0 en Windows. La instalación fue totalmente indolora e incluye la GUI de administración pgADMIN. –

+0

Sí, pero una vez que está tratando de hacer la replicación maestro/esclavo, la agrupación ... se vuelve complicado :(La instalación de MySQL y PostgreSQL es simple, hacer que funcione de manera eficiente es un dolor en el trasero. En aplicaciones reales (I usado para ejecutar I + D en un gran sitio de redes sociales) hay uso para ambos: utilizamos PostgreSQL para nuestros datos complicados (información social, análisis) y usamos MySQL para enormes repositorios de datos triviales no estructurados (mensajes de usuario). MySQL replica y clústeres rápida y fácilmente, y es trivial de mantener. – qdot

44

La razón por la que normalmente sugiero PostgreSQL antes de MySQL es porque MySQL está lejos de los estándares (en cuanto a SQL). No admite el uso de funciones de ventana (versión 8.4), expresiones de tabla comunes (8.4), restricciones CHECK, EXCEPT/MINUS operator, incluso FULL OUTER JOINs ... Aunque es posible que nunca haya oído hablar de estas palabras, Tendrá que usar esos conceptos en algún momento.

Recomiendo encarecidamente que empiece con PostgreSQL, entonces puede aprender qué es SQL "real". Entonces, puede decidir si MySQL es suficiente o no.

P.S. Empecé con MySQL y lo lamenté. Ahora uso PostgreSQL y me encanta.

+5

+1 para la lista completa de diferencias – bernie

+0

Información buena y específica.Los resultados de rendimiento están en contra de PostgreSQL, a veces tener una SQL liviana es una buena idea, especialmente si no necesita la hinchazón adicional, pero quiere algo que todavía sea SQL, en lugar de ir con los paradigmas de almacenamiento de datos NoSQL – qdot

+0

El mito de que MySQL es más rápido que PostgreSQL no ha sido cierto desde hace varios años. Especialmente desde 8.3, PostgreSQL escalas mejor en un escenario de escritura transaccional alto. Y el optimizador es mucho más inteligente cuando se trata de declaraciones complejas. MySQL con MyISAM aún podría ser más rápido, entonces usted pierde todas las ventajas de un DBMS, como las transacciones y las restricciones (clave externa) –

7

Mientras está comenzando, creo que apreciará la herramienta GUI pgadminIII de PostgreSQL más de lo que lo haría con las que he probado para MySQL. Sin embargo, esta puede ser mi preferencia.

Al llegar más allá de los conceptos básicos que definitivamente va a querer aprovechar el soporte de window functions de PostgreSQL a partir de la versión 8.4

De hecho, me gustaría recomendar PostgreSQL sobre MySQL para las funciones de la ventana por sí solos. Tenga en cuenta que hay formas de emular funciones de ventana en MySQL.

+0

Totalmente de acuerdo. Y las expresiones comunes de tabla recursivas son solo otra razón para preferir Postgres en lugar de MySQL. Y el mejor cumplimiento del estándar ... Y compruebe las restricciones ... Y las restricciones diferibles ... –

+1

+1: Me molesta trabajar con WorkBench –

+0

Y odio que ctrl-c salga de la consola en MySQL. En psql solo cancela el comando actual. –

4

Recomendaría PostgreSQL para principiantes ya que tiene muchas menos sorpresas que MySQL.

Estas son algunas de las cosas que la gente se topa con MySQL:

Mientras tanto, PostgreSQL hace exactamente lo que se espera que lo haga en la mayoría de las situaciones, y generalmente tiene una muy buena razón cuando hace algo inesperado.

22

Ya ha habido un montón de grandes puntos a favor de PostgreSQL, pero voy a añadir más 1:

PostgreSQL tiene the best documentation de cualquier producto de base de datos que he trabajado.

Esta es la razón por la documentación se destaca:

  • En realidad, te enseña lo básico de SQL
  • Es fácil de entender
  • Tiene buenos ejemplos
  • Está muy bien organizado
  • No es solo una lista de características con notas técnicas
  • Está por todos lados, bien escrito

Otros proveedores deberían estar avergonzados de lo que prueban y un pase como documentación.

+2

Cada vez que tengo que ir a buscar algo sobre Sybase, quiero llorar y gritar. La documentación de PostgreSQL es de hecho increíble. –

+0

¿Dónde está el enlace a la documentación – aWebDeveloper

+8

@WebDeveloper, tienes Google es el primer resultado de la "documentación de PostreSQL". – mikerobi

5

A menudo se escucha a los entusiastas de PostgreSQL argumentar que es un RDBMS "real", mientras que MySQL no lo es. Este tipo de esnobismo es peligroso para los recién llegados, ya que viene después de años de experiencias específicas que rozan de cierta manera contra cierto tipo de personalidad. Si desea abordarlo en términos de qué conocimiento beneficiaría más a un principiante, es mucho más probable que encuentre personas que usan MySQL en la naturaleza que PostgreSQL. Los grandes sitios basados ​​en software de código abierto eligen MySQL en lugar de PostgreSQL por un amplio margen.

Personalmente, me gusta MySQL porque se ajusta a mi estilo de desarrollo, simplemente hace las cosas. No uso claves foráneas I definitivamente no use procedimientos almacenados. Pero lo que hace MySQL, lo hace bien y lo hace rápido y lo hace mientras me da un feliz "bueno, eso tiene sentido", sensación que no entiendo con PostgreSQL (lo he usado tanto). Hay un buen apoyo de la comunidad para MySQL y una excelente documentación. Y si necesita hacer la replicación (¿y quién no?) MySQL es el claro ganador, sin preguntas.

Hay algunas cosas que MySQL le permite hacer que podrían conducir a malos hábitos si cambia a bases de datos menos tolerantes. Pero esa es la cuestión: todo esto habla de cómo debe prepararse para pasar de RDBMS X a RDBMS Y en cualquier momento. En mi experiencia, esto sucede raramente, y cuando lo hace, siempre hay diferencias peculiares de una base de datos a la siguiente. MySQL es diferente de PostgreSQL, que es diferente de Oracle, que es diferente de SQL Server, que es diferente de sqlite, etc., etc. He utilizado todos los DB que enumeré anteriormente, pero al que sigo volviendo, el uno que hace las cosas de manera más fácil y flexible para mí, es MySQL.

A los DBA les encanta poner MySQL de la misma forma en que los aficionados al lenguaje de programación adoran bash PHP, y sin embargo, ellos sobreviven y prosperan. Hay razones para esto: simplemente funcionan, simplemente hacen las cosas. Pero al final del día deberías jugar con todo eso y tomarte tu propia decisión.

+1

¿Podrías dar más detalles sobre "simplemente hace las cosas"? Eso me suena a decir: es lo primero que encontré y lo aguanté. PHP/MySQL porque esas dos palabras en mi mente están asociadas entre sí. –

Cuestiones relacionadas