2012-07-21 15 views
6

Para un proyecto donde la mayoría de las consultas en la base de datos incluirán requisitos como "dentro de un polígono" he comenzado a pensar en elegir PostgreSQL con PostGIS en lugar de MySQL, que anteriormente utilicé principalmente. Principalmente porque PostgreSQL tiene más funciones GIS. Sin embargo, no estoy seguro de cómo evaluar esto, y tampoco puedo ver la diferencia desde la perspectiva de un desarrollador de PHP.Diferencias entre PostgreSQL y MySQL para desarrolladores de PHP

  1. ¿El soporte de PostgreSQL está integrado tan bien con PHP como MySQL?
  2. Está escribiendo consultas de PostgreSQL (SQL) muy similares a MySQL?
  3. ¿Hay alguna advertencia a considerar al elegir PostgreSQL en lugar de MySQL?
  4. ¿Es PostgreSQL por definición la mejor solución cuando se usan datos GIS?

Espero que ustedes puedan ayudarme a aclarar algo de esto.

+0

Sí para las dos primeras preguntas. –

Respuesta

15

¿El soporte de PostgreSQL está integrado tan bien con PHP como MySQL?

Sí. Y tal vez incluso mejor, más PHP functions disponible para hacer las cosas muy simples.

Está escribiendo consultas de PostgreSQL (SQL) muy similares a MySQL?

Sí, es SQL. Pero tiene disponible una funcionalidad más avanzada, como Oracle y SQL Server.

¿Hay alguna advertencia a considerar al elegir PostgreSQL en lugar de MySQL?

PostgreSQL aún no está muy extendido en los proveedores de alojamiento económico. Pero está disponible.

¿Es PostgreSQL por definición la mejor solución cuando se usan datos GIS?

MySQL es una broma cuando se necesitan consultas GIS y PostGIS (funciones y tipos de datos en PostgreSQL) es una de las mejores bases de datos GIS disponibles en el mercado.


Editar: Comprobar estas dos comparaciones:

PostGIS ha pasado a la versión 2.0 y la versión 9.1 de PostgreSQL que, con el 9,2 próxima.

MySQL tiene solo unas pocas funciones GIS y carece de rendimiento, no es una opción seria para GIS.

+1

¡Muchas gracias por sus comentarios! ¿Podría aclarar por qué "MySQL es una broma cuando necesita consultas GIS"? – preyz

+0

@preyz para SIG hay una gran lista de características que faltan para MySQL. No tiene un motor de proyección, solo [realiza un cuadro delimitador en lugar de un análisis de punto en un polígono] (http://stackoverflow.com/questions/1078386/see-if-lat-long-falls-within- a-polygon-using-mysql) (a menos que use la última versión), hay menos herramientas GIS para vincular a MySQL, etc. PostGIS es mucho más maduro con respecto a GIS que cualquier cosa que MySQL Spatial tenga para ofrecer. –

0

Desde una perspectiva puramente PHP, si usa PDO entonces - el constructor aparte - su código puede ser bastante agnóstico de la base de datos.

+1

Pero que pierde todos los beneficios de una base de datos específica. El rendimiento y la funcionalidad sufrirán. –

+0

PDO solo proporciona la estructura para trabajar con la sintaxis SQL principal y ayuda a escapar y agregar citas correctas a las expresiones. No niega el uso de funciones específicas y no es un propósito para mantener solo las oportunidades esenciales de SQL. Un proyecto serio no puede basarse en SQL universal. Pero si desarrolla un producto de código abierto (por ejemplo, extensión para un marco), debe evitar las funciones específicas de la plataforma. No hay problema en ambos enfoques. Por cierto, hice varias migraciones reales entre MySQL, Postgres, SQL Server. Está bien en algunas etapas de inicio. –

Cuestiones relacionadas