mysql - usos - ¿Por qué Heroku usa Postgresql?
usos de postgresql (6)
Bueno, el rendimiento en Postgres es generalmente mejor para las consultas complejas, como el tipo generado por los ORM. Además, postgres solo tiende a ser más "sólido". Esto es un total en total, pero los servidores de postgres que he manejado siempre han sido mucho menos problemáticos que mysql, que le gusta bloquear aleatoriamente de vez en cuando, ocasionalmente corrompiendo una tabla en el camino de descenso.
Estoy ocupado portando algún código específico de MySQL a Postgresql para usarlo con Heroku. ¿Me pregunto si hay alguna razón específica por la cual Heroku fue con Postgresql sobre MySQL? Rendimiento, arquitectura, etc.
ACTUALIZACIÓN: desde una publicación de blog heroku:
En Heroku, creemos que PostgreSQL ofrece la mejor combinación de potentes funciones, integridad de datos, velocidad, cumplimiento de estándares y código de fuente abierta de cualquier base de datos SQL en el planeta.
Compare la longitud de esta lista de errores MySQL con esta lista de errores postgresql . MySQL es mucho más probable que te eche a perder.
En términos generales, me parece que pgsql se presta a operaciones 24/7 mejor que mysql. Además, parece tener menos pistolas incorporadas. Creo que si estás más familiarizado con uno u otro, es más probable que influya en tu decisión que en cualquier otra cosa.
Moveré una de las aplicaciones Rails de mi cliente de Heroku Postgresql a Mysql (el complemento ClearDB) en este momento. PostgreSQL es un servicio de base de datos más estricto y más "correcto" en muchos sentidos, que parece ser la razón por la cual Heroku lo respalda. Sin embargo, considero que el marco de Rails suaviza más o menos las diferencias, y la mayoría de las aplicaciones de Rails no crecerán lo suficiente como para que los problemas de rendimiento de Mysql se conviertan en un motivo de ruptura.
Por otro lado, PostgreSQL (en particular, la oferta de Heroku) tiene un par de desventajas agudas para una aplicación de inicio:
- El precio. Para evitar errores semanales de "conexión de base de datos perdidos" al trabajar con Heroku Postgres, debe pagar $ 200 / mes. En ClearDB, obtiene una promesa de tiempo de actividad del 100% (no hemos tenido la oportunidad de evaluar este reclamo) para el plan de $ 10 / mes, que también ofrece 1 GB de espacio, más de lo que alguna vez necesitaremos.
- Orden de columna Al hacer el desarrollo de Rails, me refiero al archivo de esquema de base de datos
schema.rb
cada 5 minutos, y para mantener este archivo ordenado y legible, me resulta crucial poder especificar en qué orden deben agregarse columnas. MySQL admite especificar el orden de columnas; PostgreSQL no. En muchos casos, esta característica no es importante, pero debido a cómo funciona Rails / ActiveRecord, mi vida se vuelve mucho más difícil cuando no puedo reordenar las columnas.
No contradice ninguno de los consejos anteriores, pero si por alguna razón realmente desea o necesita seguir con MySQL, recientemente noté que Heroku ahora está ofreciendo un complemento gratuito de MySQL, llamado ClearDB:
https://addons.heroku.com/cleardb
No lo he usado, así que no puedo responderlo. Heroku afirma tener un 99.95% de tiempo de actividad para la versión gratuita (frente al 100% del tiempo de actividad reclamado para cualquiera de las versiones pagas) y rechaza la versión gratuita como "Preparado para producción". Afirman que ClearDB es "MySQL nativo, no modificado".
Postgres es mejor que mysql en muchos sentidos . Puede leer estas publicaciones sobre la aplicación de rieles de migración de mysql a postgres. Aunque mysql es más popular que postgres, pero instagram está usando postgres tal vez debido a these razones. Siento que Postgres es mucho más maduro y robusto que mysql. Mientras que mysql es más fácil y simple de usar.
Migrando MySQL a PostgreSQL en Rails «mindlev
Datos de la aplicación Converting Rails de MySQL a PostgreSQL
Para la migración de datos, un pequeño script útil: tarea de rake para transferir una base de datos de Rails, digamos desde MySQL a Postgres y viceversa