PostgreSQL La base de donnees la plus sophistiquee au monde.

Forums PostgreSQL.fr

Le forum officiel de la communauté francophone de PostgreSQL

Vous n'êtes pas identifié(e).

#1 26/02/2022 17:25:50

robz2b
Membre

Séparer les applications

Bonjour,

je voulais savoir quelles sont les bonnes pratiques en postgres pour séparer les applis ?
Pour l'instant dès qu'il y a une nouvelle appli, je lui dédie une database + 1 tablespace data / index. Mais est-ce une bonne méthode ? si j'utilise un seul tablespace pour toutes mes applis, je n'ai pas envie que les autres applis modifies les tables des autres applis etc.

j'ai vu que certains créé carément une instance postgres pour chaque appli ?


merci pour vos conseils, je viens du monde oracle.

Hors ligne

#2 26/02/2022 23:13:13

gleu
Administrateur

Re : Séparer les applications

Je ne pense pas qu'il y ait une bonne pratique. Chacune a ses avantages et ses inconvénients. Le coup des applis qui modifient les tables des autres applis, cela se règle en gérant correctement les droits sur les objets. Il peut y avoir de bonnes raisons pour coller toutes les tables dans la même base, comme il peut y en avoir pour les coller dans des bases différentes. Tout dépend du contexte.


Guillaume.

Hors ligne

#3 27/02/2022 19:23:39

ruizsebastien
Membre

Re : Séparer les applications

Bonjour,
Parmi les bonnes raisons de séparer les choux ou les carottes :
- bien gérer les droits pour qu'une appli ne viennent pas modifier les données d'une autre appli (par négligence ou erreur).
- permettre de gérer les sauvegardes/restaurations par appli
- permettre de gérer les migrations majeures par appli (car certaines ne seraient pas compatibles alors que d'autres oui).

On peut donc séparer les applis soit par instance (1 instance par appli), par base (plusieurs bases dans l'instance, 1 par appli) ou éventuellement par schéma.

Pour les tablespaces je vous conseille de tout garder dans pg_default (je me suis déjà cassé les dents en faisant autrement).


C'est vous qui voyez.


Cordialement,

Sébastien.

Hors ligne

#4 28/02/2022 09:24:09

gleu
Administrateur

Re : Séparer les applications

Pour les tablespaces je vous conseille de tout garder dans pg_default (je me suis déjà cassé les dents en faisant autrement).

Oui, il y a actuellement très peu d'avantages à utiliser les tablespaces dans PostgreSQL et beaucoup d'inconvénients. Mieux vaut éviter, sauf cas particulier.


Guillaume.

Hors ligne

#5 28/02/2022 14:55:43

Re : Séparer les applications

gleu a écrit :

Pour les tablespaces je vous conseille de tout garder dans pg_default (je me suis déjà cassé les dents en faisant autrement).

Oui, il y a actuellement très peu d'avantages à utiliser les tablespaces dans PostgreSQL et beaucoup d'inconvénients. Mieux vaut éviter, sauf cas particulier.


Il y a un avantage évident, c'est lorsque le stockage est hybride HDD/SDD.

Cela permet de définir les seq_page_cost / random_page_cost adéquats pour chaque tablespace ce qui évite à l'optimiseur de sortir des plans d'exécution "fantaisistes".

Dernière modification par herve.lefebvre (28/02/2022 14:56:01)

Hors ligne

#6 28/02/2022 15:09:11

rjuju
Administrateur

Re : Séparer les applications

Tout à fait, mais c'est un des cas particuliers où vous avez plusieurs systèmes disques avec des performances différentes (un autre pourrait être avoir des quotas différents par exemple).  Pour le reste (découpage logique par application et autre), cela n'apporte rien.

Hors ligne

#7 28/02/2022 15:19:05

Re : Séparer les applications

rjuju a écrit :

Pour le reste (découpage logique par application et autre), cela n'apporte rien.

Ça je suis bien d'accord.

Sauf si pour des raisons réglementaires, les sauvegardes des différentes applis doivent impérativement être stockées en des lieux qui leur sont propres, mais là on pinaille... et il y a aussi d'autres solutions que les tablespaces.

Dernière modification par herve.lefebvre (28/02/2022 15:19:56)

Hors ligne

Pied de page des forums