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.
fuente
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.
fuente
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.
fuente