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

#1 26/06/2013 10:50:14

Kore
Membre

questions sur postgres

Bonjour,

(Désolé je viens de me rendre compte que j'ai posté au mauvais endroit)

Je viens du monde Oracle et je m’intéresse très sérieusement à Postgres (et ses projets satellites) qui est ma foi un très bon SGBD open source.
Avant de me prendre une rafale, je ne suis pas pro-Oracle ni pro-Postgres. Je cherche juste le bon compromis en fonction des besoins.
La documentation Postgres est très bien faite, mais certains points sur des fonctionnalités voir sur des "projets satellites" restent assez obscures.
Je me retourne donc vers vous, peut être pourriez vous me donner certaines informations?

1 - Y a t il un équivalent (et de la documentation) chez Postgres pour l'option "OLAP Oracle" d'Oracle? Ou une alternative?

2 - Avez vous des retours sur la mise en place de la "streaming replication" en environnement de production? Quels sont les critères pour choisir entre la "streaming replication" et le "log shipping"? Est elle viable sur de gros volumes de données et des fréquences d'écritures élevées?

3 - J'ai pu lire que la streaming replication synchrone garantissait que la donnée était commitée sur le secours mais ne garantissait pas la visibilité identique des données sur le maître et le secours dans le cas d'une répartition de charge? est ce correct? Si oui, dans quel cas cela peut se produire?

4 - J'ai pu lire (malheureusement j'ai pommé la source sur le net - désolé d'être étourdi) qu'une nouvelle solution pour le partitionnement était envisagée? Est ce correct? Si oui, qui s'en occupe et pour quand ou quelle version est elle prévue?

5 - Y a t il une réflexion en cours pour l'implémentation des requêtes multi-threadées (parallélisme)?
     J'ai lu sur le blog d'un membre de la core team qu'il s'agit d'une des priorités de la version 9.4? Est ce correct? Et à quelle échéance?

6 - Postgres-XC est il voué à faire concurrence à ORACLE RAC? Avez vous des informations sur l'avancement de ce projet?

7 - Peut on affecter des quotas de ressources et des quotas sur un tablespace à un utilisateur via Postgres?

8 - Y a t il un projet en réflexion pour le développement d'une interface de monitoring équivalent à OEM 12c d'Oracle? Existe il une alternative payante ou open source?

9 - Les outils étant très riches mais non centralisés, quels outils me conseillez vous :

- pour contrôler une architecture de réplication en fonction de la solution mise en place (slony, pgPool-II avec streaming ou non, log shipping)? Pour détecter qu'un secours est mort? Pour contrôlerle lag entre le maitre et les secours?
- pour contrôler l'utilisation de la mémoire et l'espace de stockage?
- pour contrôler la charge sur le serveur
- pour explorer les logs
- pour récupérer les requêtes les plus consomatrices

10 - Existe il un outil développé par la communauté pour effectuer de l'anonymisation de données? Si non quelle alternative connaissez vous?

11 - Peut on effectuer des sauvegardes incrémentales (cumulatives et différentielles) pour des backups physiques équivalents à ceux de l'outil RMAN d'Oracle? Peut on restaurer qu'une partie de la sauvegarde? Par exemple, restaurer physiquement une table uniquement en cas de corruption de données et rejouer les WAL sur ce fichier? Ou faut il systématiquement restaurer la dernière sauvegarde complète? Dans ce cas, quelles sont les techniques possibles pour gérer la restauration de gros volumes de données?

12 - Y a t il un équivalent des jobs Oracle chez Postgres?

13 - La compression  de données est elle possible sous postgres? compression d'une colonne, d'une table?

14 - Questions bonus : Quelles sont les différences entre Postgres et EntrepriseDB? (je parle en terme de fonctionnalités, performances.. je sais qu'EntrepriseDB est payant wink )

Je sais que ça fait énormément de questions.
Je vous remercie d'avance pour les réponses que vous pourrez me fournir.
Cordialement.

Dernière modification par Kore (26/06/2013 10:52:04)

Hors ligne

#2 26/06/2013 11:18:23

kenrio
Membre

Re : questions sur postgres

Kore a écrit :

Bonjour,

8 - Y a t il un projet en réflexion pour le développement d'une interface de monitoring équivalent à OEM 12c d'Oracle? Existe il une alternative payante ou open source?

OEM est énorme que cherchez vous réellement ?

Kore a écrit :

9 - Les outils étant très riches mais non centralisés, quels outils me conseillez vous :

- pour contrôler une architecture de réplication en fonction de la solution mise en place (slony, pgPool-II avec streaming ou non, log shipping)? Pour détecter qu'un secours est mort? Pour contrôlerle lag entre le maitre et les secours?
- pour contrôler l'utilisation de la mémoire et l'espace de stockage?
- pour contrôler la charge sur le serveur
- pour explorer les logs
- pour récupérer les requêtes les plus consomatrices

nagios ou munin ou encore cacti pour les 3 premiers points, pgfouine pour les requetes

Kore a écrit :

11 - Peut on effectuer des sauvegardes incrémentales (cumulatives et différentielles) pour des backups physiques équivalents à ceux de l'outil RMAN d'Oracle? Peut on restaurer qu'une partie de la sauvegarde? Par exemple, restaurer physiquement une table uniquement en cas de corruption de données et rejouer les WAL sur ce fichier? Ou faut il systématiquement restaurer la dernière sauvegarde complète? Dans ce cas, quelles sont les techniques possibles pour gérer la restauration de gros volumes de données?

mélanger du pgdump avec du hot physical ( le hot physical ne peut pas restaurer juste une table)

Kore a écrit :

14 - Questions bonus : Quelles sont les différences entre Postgres et EntrepriseDB? (je parle en terme de fonctionnalités, performances.. je sais qu'EntrepriseDB est payant wink )

pas vraiment de sens cette question, c'est une boite qui mise tout sur pg et donc à des outils et des hommes dédiés à pg.
c'est comme prendre centos à la place de red hat je trouve.

je peux pas faire plus désolé

Dernière modification par kenrio (26/06/2013 11:19:10)

Hors ligne

#3 26/06/2013 11:38:20

Bidou
Membre

Re : questions sur postgres

kenrio a écrit :
Kore a écrit :

14 - Questions bonus : Quelles sont les différences entre Postgres et EntrepriseDB? (je parle en terme de fonctionnalités, performances.. je sais qu'EntrepriseDB est payant wink )

pas vraiment de sens cette question, c'est une boite qui mise tout sur pg et donc à des outils et des hommes dédiés à pg.
c'est comme prendre centos à la place de red hat je trouve.

je peux pas faire plus désolé

Sur ce point je me permets d'ajouter qu'EnterpriseDB n'ajoute pas que des outils, par exemple il y a les "hints" qui sont ajoutés au moteur.

Hors ligne

#4 26/06/2013 14:49:55

gleu
Administrateur

Re : questions sur postgres

1 - Y a t il un équivalent (et de la documentation) chez Postgres pour l'option "OLAP Oracle" d'Oracle? Ou une alternative?

J'ai cru comprendre que le module contrib cube était un équivalent mais je n'en sais pas plus.

2 - Avez vous des retours sur la mise en place de la "streaming replication" en environnement de production?

Oui, nous avons plein de clients qui l'utilisent et en sont très contents.

Quels sont les critères pour choisir entre la "streaming replication" et le "log shipping"?

En gros, c'est plus une question de lag qu'autre chose. Le logshipping envoit un journal complet, alors que le streaming les envoie au fur et à mesure. Autrement, on aura plutôt tendance àutiliser la streaming replication car elle implique moins de retard de l'esclave par rapport au maître.

Est elle viable sur de gros volumes de données et des fréquences d'écritures élevées?

Je vais dire que oui mais sans savoir ce que vous entendez par des "fréquences d'écritures élevées".

3 - J'ai pu lire que la streaming replication synchrone garantissait que la donnée était commitée sur le secours mais ne garantissait pas la visibilité identique des données sur le maître et le secours dans le cas d'une répartition de charge? est ce correct?

Oui.

Si oui, dans quel cas cela peut se produire?

J'avoue que je ne comprends pas bien la question. La donnée reçue est sockée sur disque, elle n'est rejouée qu'après. D'ailleurs, il est possible de mettre en pause le rejeu (par exemple pour faciliter l'exécution de requêtes en lecture longues sur l'esclave). Donc, oui, la réception et le rejeu sont deux choses différentes, ce qui implique qu'il est possible de voir une différence entre les données sur le maître et celles sur l'esclave.

4 - J'ai pu lire (malheureusement j'ai pommé la source sur le net - désolé d'être étourdi) qu'une nouvelle solution pour le partitionnement était envisagée? Est ce correct?

Oui. Depuis de nombreuses années, différents développeurs proposent de nouvelles solutions pour le partitionnement. Aucune n'a atteint un point satisfaisant.

Si oui, qui s'en occupe et pour quand ou quelle version est elle prévue?

À priori Dimitri Fontaine, mais il est trop occupé actuellement sur les extensions et sur lees triggers sur événements pour avoir pu progresser dessus. En tout cas, c'était un travail qu'il voulait faire pour la 9.3 mais aucun patch et aucune discussion (publique) ne sont encore arrivés. Je n'ai aucun doute que ça arrivera à un moment ou à un autre mais il ne faut pas l'attendre pour la 9.3 (et pas plus, je pense, pour la 9.4).

5 - Y a t il une réflexion en cours pour l'implémentation des requêtes multi-threadées (parallélisme)?
     J'ai lu sur le blog d'un membre de la core team qu'il s'agit d'une des priorités de la version 9.4? Est ce correct? Et à quelle échéance?

C'est une priorité affichée des développeurs d'EnterpriseDB. On peut donc raisonnablement croire que cela arrivera rapidement (rapidement voulant dire pour la prochaine version majeure, la 9.4, donc mi-2014). Évidemment, ce ne sont que des souhaits pour l'instant, et tout dépend s'ils auront réellement le temps de travailler dessus... ou pas.

6 - Postgres-XC est il voué à faire concurrence à ORACLE RAC? Avez vous des informations sur l'avancement de ce projet?

Ça n'est pas la même optique du tout. Avec RAC, vous avez un répertoire de données commun pour plusieurs moteurs. Avec Postgres-XC, vous avez un répertoire par moteur.

Vous n'aurez pas l'équivalent d'un RAC sur PostgreSQL. En tout cas pas avant de nombreuses années.

7 - Peut on affecter des quotas de ressources et des quotas sur un tablespace à un utilisateur via Postgres?

Non. Les quotas sont à gérer au niveau système.

8 - Y a t il un projet en réflexion pour le développement d'une interface de monitoring équivalent à OEM 12c d'Oracle? Existe il une alternative payante ou open source?

La seule alternative à ma connaissance est PEM (PostgreSQL Enterprise Manager). C'est un outil payant créé par EnterpriseDB. Jamais testé, donc je ne pourrais pas en dire plus.

Il n'existe pas à ma connaissance d'autres équivalents, que ce soit dans le monde propriétaire ou dans le monde libre.

Généralement la supervision se fait plutôt avec un Nagios ou avec un Zabbox.

9 - Les outils étant très riches mais non centralisés, quels outils me conseillez vous :

- pour contrôler une architecture de réplication en fonction de la solution mise en place (slony, pgPool-II avec streaming ou non, log shipping)? Pour détecter qu'un secours est mort? Pour contrôlerle lag entre le maitre et les secours?

check_postgres.pl avec un Nagios ou un Zabbix.

- pour contrôler l'utilisation de la mémoire et l'espace de stockage?

Un outil système, celui que vous voulez. Ou un Nagios, ou un Zabbix. Les outils habituels de supervision en fait.

- pour contrôler la charge sur le serveur

Un outil système, celui que vous voulez. Ou un Nagios, ou un Zabbix. Les outils habituels de supervision en fait.

- pour explorer les logs

Les traces applicatives de PostgreSQL ? pgBadger est actuellement le meilleur outil pour ça. kenrio vous a aussi proposé pgfouine qui est plus ancien et moins rapide et moins capable que pgbadger.

- pour récupérer les requêtes les plus consomatrices

pgBadger, pg_stat_statements, suivant les cas.

10 - Existe il un outil développé par la communauté pour effectuer de l'anonymisation de données? Si non quelle alternative connaissez vous?

Non. Plus exactement, je n'en connais pas. Un de mes collègues pourrait certainement mieux vous répondre sur ce point, vu qu'il a beaucoup travaillé sur ce domaine.

11 - Peut on effectuer des sauvegardes incrémentales (cumulatives et différentielles) pour des backups physiques équivalents à ceux de l'outil RMAN d'Oracle?

Non. Quelques personnes, dont un de mes collègues, ont commencé à discuter de cela. Cela semble faisable, mais cela demande encore du travail.

Peut on restaurer qu'une partie de la sauvegarde?

Sur une sauvegarde logique (donc par pg_dump), oui. Sur une sauvegarde physique, non.

Par exemple, restaurer physiquement une table uniquement en cas de corruption de données et rejouer les WAL sur ce fichier?

Non.

Ou faut il systématiquement restaurer la dernière sauvegarde complète?

Dans le cas d'une sauvegarde physique (fichiers de l'instance et journaux de transactions), oui, il faut tout restaurer.

Dans le cas d'une sauvegarde logique, non.

Dans ce cas, quelles sont les techniques possibles pour gérer la restauration de gros volumes de données?

Sauvegarde PITR (fichiers de l'instance et journaux de transactions).
Sauvegarde au niveau système de fichiers.

Ce sont les deux seules solutions pour les gros volumes, même si elles ont des limitations (comme le fait qu'on ne peut pas en restaurer qu'une partie, ou qu'il faut la même architecture matérielle).

12 - Y a t il un équivalent des jobs Oracle chez Postgres?

Il existe un outil appelé pgagent mais je ne sais pas s'il s'agit d'un équivalent complet des jobs Oracle. pgAdmin propose une interface pour la configuration et la consultation des jobs de pgagent.

13 - La compression  de données est elle possible sous postgres? compression d'une colonne, d'une table?

Oui et non. Il le fait automatiquement pour les grosses données mais il n'est pas possible de lui dire de compresser une table ou une base entièrement. Il ne le fait que s'il l'estime nécessaire. Des discussions sont en cours pour proposer d'autres moteurs de stockage, dont un moteur de compression.

14 - Questions bonus : Quelles sont les différences entre Postgres et EntrepriseDB? (je parle en terme de fonctionnalités, performances.. je sais qu'EntrepriseDB est payant wink )

Un certain nombre de choses smile principalement une couche de compatibilité Oracle qui permet de ne pas avoir à trop modifier ces applications, mais aussi des améliorations d'optimisation (pour moi, les hints ne sont pas une amélioration, mais au contraire une belle erreur).


Guillaume.

Hors ligne

#5 26/06/2013 22:41:51

Kore
Membre

Re : questions sur postgres

Bonsoir,

Merci  à vous 3 pour ses réponses rapides.

Il est vrai que ma question 14 n'a pas de sens. En tout cas elle est mal formulée.
Je voulais dire quelles sont les différences entre Postgres et PostgresPlus d'entrepriseDB?
En tout cas gleu m'a éclairé un peu sur ce sujet.

Pour revenir à la streaming replication et la réponse de gleu.

Du coup, je n'ai pas du comprendre correctement le mécanisme de la streaming replication en mode synchrone.

Quand vous parlez d'écriture sur disque, vous voulez dire que le primaire attend la validation de l'écriture dans le WAL du secours qui sera appliqué ensuite?

En tout cas, merci pour ces informations. J'y vois plus claire maintenant. smile

Hors ligne

#6 26/06/2013 23:57:42

gleu
Administrateur

Re : questions sur postgres

Je voulais dire quelles sont les différences entre Postgres et PostgresPlus d'entrepriseDB?
En tout cas gleu m'a éclairé un peu sur ce sujet.

À mon avis, vous n'aurez pas mieux comme réponse ici. Le mieux est certainement de contacter EDB pour leur demander.

Du coup, je n'ai pas du comprendre correctement le mécanisme de la streaming replication en mode synchrone.
Quand vous parlez d'écriture sur disque, vous voulez dire que le primaire attend la validation de l'écriture dans le WAL du secours qui sera appliqué ensuite?

Exactement. L'esclave ne fait qu'indiquer au maître qu'il a enregistré les entrées de transactions dans son journal, pas qu'il les a réjoué dans les fichiers de données. Du coup, les données ne sont pas encore visibles par les processus connectés à l'esclave. Cela étant dit, l'application se fait très rapidement après.


Guillaume.

Hors ligne

#7 27/06/2013 01:23:05

Kore
Membre

Re : questions sur postgres

Merci pour ses explications claires et pour votre réactivité.

En effet, je n'avais pas très bien compris les mécanismes de réplication par flux.

Dernière modification par Kore (27/06/2013 01:23:55)

Hors ligne

Pied de page des forums