Pour une grande application SAAS (soutenue par PostgreSql 9.4), avec plus de 300 000 comptes (et en pleine croissance), quels sont les avantages et les inconvénients de l'utilisation d'un schéma par compte pour partitionner les données par rapport à la mise en place de toutes les données dans un seul schéma et l'utilisation de clés étrangères pour le partitionner dans les requêtes?
Je sais que dans le passé, pg_dump était douloureusement lent lors de l'utilisation de nombreux schémas, mais je ne sais pas si c'est le cas aujourd'hui. Je suis également conscient que tout changement dans la structure de la base de données devra être effectué sur tous les schémas. Et je sais que du côté positif, le déplacement d'un schéma d'un serveur physique à un autre est facile, ainsi que la restauration d'un schéma à partir d'une sauvegarde, sans oublier qu'il est logique de partitionner les données de cette façon.
Alors, quels sont les avantages et les inconvénients qui me manquent?