Yves-Jean Benigni, Administrateur Système & Réseaux, benigni.org

Haaaaaaa PostgreSQL… Au départ j'ai travaillé sur Ingres. J'utilisais quotidiennement Ultrix (Unix de chez Digital) et une base de donnée UNIFY de chez UNIFY pour gérer la gestion des Donneurs de sang et toute la chaine de contrôle de celui-ci jusqu'au médicament (plaquette). Je travaillais au CNTS. En 1995 il a fallu équiper les collectes de sangs mobiles d'outils informatiques afin de garantir la sécurité transfusionnelle. Nous développions l'ensmble des applications en internes et donc il fallait le faire là encore en interne avec des moyens financiers qui couvraient à peine l'achat de portables. Une étude a été menée sur la possibilité d'utiliser Linux (RH5.2) et une base de donnée. L'idée était de refaire un shéma de base assez proche de celui d'Unify, les écrans “curses” d'UNIFY, les menus, et de décharger certaines informations de la base de production vers ce systeme. Je simplifie…

A l'époque la base utilisée était Ingres sous Linux sur un portables 486, et la programmation d'une application en C avec le preprocessing Ingres n'était pas très intuitif, de plus le langages n'était pas du SQL, alors qu'UNIFY avait un SQL pas trop normé, mais proche d'un SQL de base. Malgré des tests concluants et une bonne intégration le projet est resté a l'état de projet et finalement l'etablissement a préféré attendre, des directives gouvernemantales était dans les starting blocs. Mais le pas était fait et l'intégration d'un SGBD sous LINUX dans les process de production était envisageable. Je passe l'intranet avec apache+Msql pour arriver a 1998 et le fameux passage a l'an 2000. Les serveurs de marque DIGITAL étaient de deux types, des DEC5000 non valider 2K par Digital et deux Alpha 2000 valider pour l'an 2000. Sauf que la base Unify n'avait pas été porté sur les Alpha serveur (2 proc alpha300Mhz/OS: OSF/1). Il fallait soit changer de marque de serveur (HP, SUN, IBM) soit changer de SGBD.

C'est à ce moment là que l'AFS a énoncé un certain nombre de dispositions, comme celle de ne plus avoir d'equipe de developpement dans les ETS, de n'avoir recour qu'a des progiciels validés par eux, sonnant le glas de notre service et surtout migration du bazzar sous un progiciel. Mais le prestataire ne voulait/pouvait pas reprendre tout l'historique des dons, des années 1981 à 1998, il fallait donc trouver une solution, économiquement et téchniquement envisageable. Le problème était le suivant, de maniere juridique un service d'enquète existe dans les ETS et doit avoir accés de maniere informatique à l'ensemble des dons, donneurs, transfusions à des fins d'enquètes ascendentes. En gros c'est la traçabilite d'un don jusqu'au donneur(s). Il s'agissait d'une base attaquée uniquement en consultation. Or le fait de ne pas reprendre l'intégralité des données nous mettait dans l'inégalité la plus total.

A ce moment là l'intranet était sous Apache+PosgreSql (6.0) il n'y avait pas encore de php et gérait les procédures, la documentation interne et les formulaires standards pour la DRH et d'autres services, mais aussi un bonne partie de la documentation des différents programmes, tout en cgi en C ou en SQL et était hebergé sur un PC.

L'idée premiere a été de se tourner vers Unify en leurs demandant si leur sgbd était porté sous Linux ix86, la réponse a été affirmative et un devis leur a été demandé, de mon coté la DSI, sous mes conseils, me demanda de plancher en paralelle sur une migration sous PostgeSql à l'image de ce qui avait été proposé en 1997, començant à mieux connaitre PostgreSql et a mieux y intégrer php, j'envisageais un web acces, plutôt qu'un acces via curses, les postes clients étant tous ou presque passés des VT420 à des postes PC. Et finalement deux projets ont étés proposé, l'un fort cher et l'autre nettement moins, mais un peu en désaccord avec les directives de l'AFS… puisque développement interne.

Néanmoins fin 2000 un intranet spécialisé a vu le jour, avec accés sécurisé, merci apache, cryptage des flux, merci SSL, et l'ensemble de toutes les données de la base Unify.

Pour le serveur, j'était assez content puisque j'avais pu récuperer un Alpha bi-pro avec OSF/1, ou j'avais commencer le travail de compilation d'Apache, de PostgreSql et de PHP, tout a définitivement basculer sous Linux lors de l'ajout d'un processeur.

En effet à la demande du prestataire qui fournaissait le progiciel, il a fallu sur les machines de prod envisager un accroissement de puissance … changer les deux proc Alpha 300Mhz par des 600Mhz, mais il ne reprenait pas les anciens processeurs. J'ai donc décider dans mettre un de plus dans le serveur qui hebergerai Apache…

Mais il fallait des licences supplémentaires et oui c'est le monde du propriétaire et comme le budget n'était pas là, j'ai fini pas virer OSF/1 et j'y ai mis une RedHat 6.0 pour Alpha évidemment…

En deux mois la migration était faite et les intérrogation via apache+php+postgresql était largement plus rapide que l'ancienne base mais sous des DEC5000.

Pour info, la table la plus importante faisait et fait encore 3 millions d'entrée et l'index est fait sur un chaine de 11 carracteres alphabétiques. L'ensemble des tables fait a peu pres 600 Mo une fois compressé.

Ce serveur tourne toujour, avec ces 5 disque de 2Go, dont 2 en RAID 1 pour le systeme et 3 en RAID 5 pour les datas… PostgreSQL fait toujours son bouleau, il est question de remplacer l'ensemble par un serveur Intel que j'imagine sous Win2k3… Ils n'aiment ni Unix ni Linux ni Alpha dans la transfusion moderne ? Perso j'aime Unix, Linux et les Alpha, d'ailleurs j'ai du Linux, et une Alfa 164 !!! (Alfa powered !!)

Dans quelle structure commerciale, associative ou administrative utilisez-vous PostgreSQL au quotidien ?

CNTS puis EFS Ile de France

Pour quelle application PostgreSQL est-il utilisé?

Consultations des données de dons de 1981 a 1998

Utilisiez-vous une BDD propriétaire avant ?

Unify version 5.

PostgreSQL vous satisfait-il ?

Oui, complètement !

Pourquoi l'avez-vous choisi plutot qu'un autre SGBRD ?

Pour l'architecture sous-jacente et sa licence libre (BSD)

Utilisez-vous d'autres SGBDR libres (MySQL, SAPDb, Firebird…) ?

Mysql pour l'intranet (PHP-NUKE)

Quelle performances avez-vous avec PostgreSQL ?

Pas trop d'info, mais de mémoire un requete complete sur 7 tables (5 jouintures ..) prennait moins d'une seconde avec le reseau et l'affichage (Apache+PHP+PG) la table principales fait plus de 3 Millions d'entrées.

Quel type de serveur abrite PostgreSQL ?

Alpha 2000 Tri processeur cadencés 300Mhz

Quelle est l'architecture autour du serveur (autres serveurs, clients, réseau…) ?

des PC dans un réseau 100Mb

Pouvez-vous nous donner une idée de la volumétrie des bases ?

30 tables, 40 indexes

Quel est votre ressenti sur la stabilité, la fiabilité… ?

Increvable, Unbreakable dirait l'Oracle.

Et sur l'administrabilité ?

Je ne connais que la ligne de commande, et ça suffit pour ce que j'en fait.

Sur la facilité d'approche ?

Je comprends pourquoi Mysql fait plus d'émule, mais pour avoir pu expliquer et montrer PG a mes collègues, je pense que leur choix aujord'hui serait tout autre. PHPGroupeWare est en test sous PG et non plus Mysql !

D'autres commentaires sur PostgreSQL ?

La programmation d'applications en C sous PG est un plaisir !


Jean-Paul Argudo le 11/09/2004