Para una aplicación SAAS grande (respaldada por PostgreSql 9.4), con más de 300,000 cuentas (y en crecimiento), ¿cuáles son los pros y los contras de usar un esquema por cuenta para dividir los datos frente a poner todos los datos en un esquema y usar claves externas para particionarlo en las consultas?
Sé que en el pasado pg_dump era dolorosamente lento cuando trabajaba con muchos esquemas, pero no estoy seguro de si ese es el caso hoy. También sé que cualquier cambio en la estructura de la base de datos tendrá que hacerse en todos los esquemas. Y sé que, en el lado positivo, mover un esquema de un servidor físico a otro es fácil, así como restaurar un esquema desde la copia de seguridad, sin mencionar que tiene sentido particionar los datos de esa manera.
Entonces, ¿cuáles son los pros y los contras que me estoy perdiendo?