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.