Postgres vs MySQL: ¿Cuál es más difícil de escalar?

8

Según su experiencia, ¿qué base de datos sirve es más difícil de escalar? MySQL o Postgres? Sé que MySQL tiene varias funciones de escala / agrupación listas para usar, pero con Postgres no hay ninguna que salga de la caja. CMIIW.

EDITAR :

Perdón por la confusión aquí, mi pregunta se refiere al escalado horizontal (escala horizontal), es decir, agrupación, fragmentación, etc. Sé que ambos pueden escalar horizontalmente, pero ¿cuál es más fácil de implementar?

Gracias por compartir.

Joshua Partogi
fuente

Respuestas:

1

MySQL es MUCHO más fácil de escalar, la agrupación y la replicación son nativas y muy fáciles de administrar e implementar (incluso para alguien que realmente no tiene conocimiento de bases de datos).

PostgreSQL solo es compatible con la replicación básica por el momento, y nada oficial acerca de la agrupación (técnicamente puede hacerlo a través de herramientas de terceros, pero se vuelve un infierno administrar).

Nunca elegiría Postgresql si planeo escalar.

Editar: la respuesta muy antigua toma con un grano de sal ya que postgres y mysql han cambiado mucho desde que se respondió.

Kedare
fuente
¿Entonces Postgres solo es bueno para una base de datos monolítica?
Joshua Partogi
Ambos son buenos en la base de datos de un solo servidor, para que veas qué características específicas de MySQL o PostgreSQL necesitas
Kedare
2
MySQL es ciertamente mucho más fácil, pero el problema con MySQL es que no verifica la integridad de los datos. Además, PostGreSQL es totalmente compatible con la agrupación y la replicación. Ver: wiki.postgresql.org/wiki/Clustering y wiki.postgresql.org/wiki/...
Dilema
77
Ciertamente, hay muchas soluciones para escalar PostgreSQL "fuera", y muchos de los sitios y sistemas más grandes que existen utilizan solo esto. MySQL será más fácil de escalar si ya conoce mysql , y postgresql será más fácil de escalar si ya conoce postgresql . Si no sabe ninguno de ellos, es probable que sean bastante iguales a lo difícil que es, y debe mirar las otras propiedades de las bases de datos para elegir una.
Magnus Hagander
Me pregunto si esta respuesta sigue siendo relevante, fue respondida hace casi 8 años
CommonSenseCode
8

Si bien esta pregunta parece ir en contra del principio "Evite hacer preguntas subjetivas o argumentativas" del sitio, no puedo resistirme a intentar una respuesta.

Depende.

¿Estamos hablando de una configuración de servidor único que escala a conjuntos de datos muy grandes?
Ambos pueden funcionar en esta situación dependiendo del conjunto de datos, pero probablemente ninguno funcionará muy bien sin una configuración personalizada y una planificación adecuada. En mi experiencia al trabajar en grandes conjuntos de datos con muchas escrituras, he encontrado que Postgres tiene menos condiciones que causan bloqueo y el rendimiento general fue mejor.

¿Estás hablando de configuraciones de servidores múltiples que se escalan a muchos esclavos para muchos lectores?
Históricamente, MySQL ha sido considerado el líder en este espacio, ya que viene con una replicación asincrónica incorporada. Este ya no es el caso si no se opone al uso del software DB más reciente; Postgres ahora también tiene esto incorporado con el lanzamiento de 9.0. Mis experiencias con la replicación de MySQL han sido más que adecuadas hasta este punto.

¿Estás hablando de configuraciones de servidores múltiples que se escalan a muchos maestros para muchos escritores?
Esta es, con mucho, la forma más difícil de escalar cualquiera de los productos y muchas veces se puede evitar mediante el uso de servidores de conmutación por error. Si realmente necesita escalar para obtener alta disponibilidad de servidores maestros, no se pueden evitar complementos / instalaciones alternativas. Para MySQL existe MySQL Cluster NDB que tiene una opción de código abierto o una versión comercial . Para Postgres hay muchos complementos que pueden obtener diferentes niveles de HA y agrupación

A la larga, la escala de su base de datos generalmente se reduce a la planificación del diseño. Si su aplicación está diseñada teniendo en cuenta la escala, entonces el sistema db que mejor se adapte a sus desarrolladores suele ser la mejor opción.

Ed.
fuente
3

PostGre tiene más características y opciones de configuración.

Por lo tanto, es probable que sea más difícil de escalar, pero también es probable que escale mejor, es decir, si está configurado correctamente.

En general, MySQL probablemente seguirá siendo más rápido, por otro lado, la verdadera pregunta es ¿cuánto valora la integridad de los datos, qué características necesita y desea depender de Oracle (ahora posee MySQL)?

Además, hay preguntas sobre licencias, como ¿realmente desea comprar una licencia MySQL solo porque no desea publicar su aplicación bajo la GPL?
Con PostGreSQL, esto no es un problema, lo cual es una gran ventaja.

Dilema
fuente