Jean-Paul's place on the Internet

PostgreSQL usecase : Le Moteur d'Orange

Bonjour à tous,

S'il y a un usecase après lequel je cours depuis longtemps, c'est celui du moteur d'Orange. Voilà plusieurs années que j'entendais parler de-ci de-là de l'utilisation de PostgreSQL au sein d'Orange pour cet outil.

Même si cela fait un bon moment qu'on travaille avec Orange chez Dalibo, j'ai quand même eu beaucoup de mal à pouvoir identifier qui faisait quoi vraiment.

C'est au cours d'une mission du côté de Sofia Antipolis que j'ai rencontré un "ancien" de l'équipe. J'ai pu alors enfin avoir les contacts que je cherchais, qui m'ont en quelque sorte orienté vers les bonnes personnes.

Quelques chiffres impressionnants:

  • 5 milliards de tuples gérés par
  • 800 postmasters répartis sur
  • 160 serveurs pour une volumétrie totale de
  • 24 tera-octets !

Ça défrise non?

J'imagine que cela va relancer un peu la page des témoignages de pros sur PostgreSQL.fr. En tout cas, ça créée une sacré concurrence...

C'est bien sûr sur cette section du site PostgreSQL.fr que le nouveau usecase est publié, précisément sur cette page.

En bref, un bon usecase de plus pour PostgreSQL ;-)

Je remercie très chaleureusement Séverine Aubry et Romain Pouget pour leur témoignage!

Bien à vous,

MySQL par Oracle... à quoi s'attendre : suite !

Bonjour à tous,

Le 6 octobre dernier je postais un article sur ce qu'il arriverait probablement au sujet de MySQL, tombé dans les mains d'Oracle, via le rachat de Sun.

Ça n'a pas tardé à se révéler vrai. De toute façon, je ne prenais pas beaucoup de risque pour ce qui s'annonçait plutôt comme une fatalité.

Tout comme Le Mag IT le relate dans cet article récent, qui m'a décidé à écrire ce post, j'ai pu constater ces derniers mois un vrai chamboulement sur ce qu'on pourrait appeler le "marché PostgreSQL", même si je n'aime pas trop ces termes.

Concrètement, j'ai vu de gros clients migrer des applications d'Oracle à PostgreSQL, mais aussi exiger des éditeurs qui leur codent leurs applications une version PostgreSQL. Je ne peux évidement pas en parler publiquement, non seulement tout ça est soumis à des NDAs, mais surtout, il y a une très forte relation de confiance entre nos clients et nous. L'éthique pour nous, ça n'est pas un argument commercial !

Jusqu'à il y a environ une grosse année, PostgreSQL était un épouvantail agité face aux commerciaux d'Oracle, pour calmer leurs ardeurs. Je sais que depuis, les choses ont bien changé. Les responsables (DI, DSI, Responsables de service ou de département, etc) en ont vraiment ras le bol et ont décidé de faire le pas.

Ils le font de manière sage au début, en testant "une petite application dans un coin". Normal, j'aurais fait pareil à leur place. Puis 6 mois après, comme PostgreSQL donne satisfaction, on s'en sert pour des projets plus gros. Et ça donne toujours autant de satisfaction, alors, on met une tarte au commercial Oracle quand il se pointe, et on migre tout le reste !

Je pense aussi que le gros travail de Gilles ces derniers mois au sein de Dalibo, sur Ora2g n'y est pas pour rien. Il a pu améliorer l'outil, grâce aux dernières migrations d'Oracle à PostgreSQL qu'on a réalisées dans Dalibo. Pas moins de 7 versions releasées depuis novembre 2011 !

On sait aussi que nombre de SSII utilisent aussi Ora2Pg. Vous pourriez penser que c'est un peu déloyal pour nous, qui passons du temps dessus: pas du tout. C'est ça l'Open Source :-D... Ces gens-là nous ont eux-aussi permis d'améliorer l'outil, et on en bénéficie tous. Ça n'est pas parce que mon voisin a acheté la même tondeuse que moi que sa pelouse est plus belle.

En fait, on est plutôt très fiers.

Bref, voici une occasion unique de dire publiquement à Gilles :

« J'adore ce que vous faites ! »

Aujourd'hui, l'outil est capable de migrer de manière automatique certaines écritures PL/SQL en PL/PGSQL. Comme par exemple des Oracleries (merci à Nat pour ce terme, que j'utilise depuis que j'ai eu la chance de bosser avec lui, vers 2000...) du type DECODE() ou le célèbre NVL()...

La syntaxe des fonctions est aussi modifiée, les déclarations de curseurs, etc...

Mais il faut toujours prévoir du temps pour migrer du PL/SQL à PostgreSQL.

D'ailleurs, nous avons tous deux des doutes sur les outils "full automatiques" pour faire ça. Sincèrement, il y a de telles écritures torturées dans le PL/SQL (il y en a tout autant sous PL/PGSQL), que je vois mal comment ça pourrait se faire tout seul :-D

Bref.

La discussion se continuera ailleurs comme on dit.

En particulier, sur le stand PostgreSQLFr à Solutions Linux 2011, où je serai quasiment tous les jours, fidèle au poste.

Et puis si je n'y suis pas, vous y trouverez toujours des gens pour vous renseigner ;-)

À bientôt !

MySQL par Oracle... à quoi s'attendre

Bonjour,

On se demandait depuis quelques temps ce qu'Oracle ferait de MySQL suite à son rachat de Sun en février dernier...

La nouvelle tombe de manière un peu indirecte via ce mail de Mike Ellsworth de younicycle.com, sur la liste pgsql-advocacy.

En gros, on retient:

  • que les prix vont augmenter d'ici un mois ou deux;
  • les supports Basic et Silver ne seront plus disponibles autrement qu'en réabonnement à 3 ans;
  • qu'il faut vraiment se dépêcher pour éviter le coup de massue.

Bref, il n'y a pas de petit profits...

Une raison de plus pour considérer une migration à PostgreSQL, non ?

;-)

Des news de pgpool-II v.3.0

Tatsuo Ishii, développeur principal de pgpool-II, vient d'annoncer ce matin, dans la liste dédiée aux développeurs de pgpool-II, que la première version beta de pgpool-II en version 3.0 sortirait ce mois-ci.

Il a donné aussi une liste des fonctionalités que cette version apporte dans le même mail.

Je vous en propose ci-après une traduction libre.

Version 3.0(umiyameboshi) 2010/08/xx:

Ceci est la première version de pgpool-II dans la branche 3.0. Il s'agit d'un grand bond en avant depuis les versions 2.2 ou 2.3.

La grosse nouveauté avec cette nouvelle version est qu'elle est adaptée à la nouvelle version 9.0 de PostgreSQL (NDT: sortie prévue pour l'automne 2010), et en particulier à ses fonctionalités de Streaming Replication/Hot Standby.

Le Streaming Replication peut être utilisé dans le mode "master/slave" de pgpool-II. Ce mode maître/esclave de pgpool-II lui-même a été grandement amélioré:

  • les SELECTs dans des transactions explicites peuvent être balancés
  • dans le protocole étendu, les mesages PARSE/BIND/DESCRIBE sont envoyés au nœud qui exécute le message EXECUTE. Cela réduit la contention au niveau des locks
  • l'auto-start d'une transaction se produit désormais uniquement si c'est nécessaire
  • les tables temporaires peuvent être utilisées sans risques désormais
  • les SELECTs qui appellent des fonctions qui peuvent potentiellement déclencher des écritures ne s'exécutent que sur le maître (master, primary)

D'autres nouvelles fonctionalités sont ajoutées grâce à un recodage du cœur de pgpool-II. Par exemple, dans le mode réplication, les SELECTs qui appellent des fonctions qui peuvent potentiellement déclencher des écritures ne pourront pas être balancés. Nouvelles fonctionalités (NDT: on trouve entre parenthèse le nom du codeur qui a pris en charge la fonctionalité, presque toujours Tatsuo)

  • le Online recovery peut être utilisé même dans le mode maître/esclave en mode streaming replication (Tatsuo)
  • la nouvelle directive "delay_threshold" a été ajoutée pour monitorer le décalage de la réplication dans le mode maître/esclave avec streaming replication. Si ce décalage devient trop important (NDT: supérieur à la valeur de "delay_threshold"), alors les SELECTs ne sont plus balancés (Tatsuo)
  • la commande "show pool_status" montre le décalage de la réplication en mode maître/esclave avec streaming replication (Tatsuo)
  • la nouvelle directive "log_standby_delay" a été ajoutée pour tracer le décalage de la réplication en mode master/slave avec streaming replication (Tatsuo)
  • le numéro de processus du backend a été ajouté aux informations de pcp_proc_info, que le client se connecte ou non au pool (Tatsuo)
  • les nouvelles directives "white_function_list" et "black_function_list" ont été ajoutées pour déclarer les fonctions qui sont suceptibles de provoquer des écritures ou pas (Tatsuo) (NDT: c'est ainsi que pgpool peut distinguer les fonctions qui peuvent provoquer des écritures des autres. Il n'y a donc pas de magie!)
  • dans mode de réplication maître/esclave, les SELECTs sur des tables temporaires ne s'exécutent que sur maître/primaire (Tatsuo)
  • dans le mode de réplication maître/esclave, les requêtes d'écritures se trouvant en dehors d'une transaction explicite ne déclenchent plus de trasactions internes (Tatsuo)
  • dans le mode de réplication maître/esclave, les SELECTs à l'intérieur d'une transaction sont load-balancés (Tatsuo, Kitawaga)
  • dans le mode de réplication maître/esclave, les commandes ne sont pas envoyées à tous les serveurs. Cela permettra d'éviter des locks superflus (Tatsuo, Kitawaga)
  • une nouvelle option de démarrage de pgpool-II permet d'ignorer le fichier de statut (Tatsuo) (NDT: précédement, si ce fichier était présent, dans certains cas particuliers, pgpool ne pouvait plus démarrer, sauf à supprimer ce fichier)
  • support de la nouvelle syntaxe du VACUUM introduite dans la version 9.0 de PostgreSQL (Tatsuo)
  • la nouvelle directive "failover_if_affected_tuples_mismatch" permet de contrôler le comportement de pgpool-II lorsque le nombre d'enregistrements affectés ou renvoyés par une requête de type INSERT, UPDATE ou DELETE diffère (Tatsuo)
  • lorsque le nombre de ces enregistrements diffère sur un INSERT, UPDATE ou DELETE, ce dernier est tracé, pour chacun des serveurs impactés (Tatsuo)
  • l'authentification md5 est supportée dans le mode réplication ainsi que dans le mode maître/esclave (Tatsuo)
  • on peut désormais forcer le passage à la deuxième étape du mode online recovery, même lorsqu'il y a des clients connectés (Tatsuo)
  • s'il y a seulement un seul serveur de disponible et que ce dernier a une avarie (pgpool-II provoque alors un failover), pgpool-II se connectera automatiquement à ce dernier dès qu'il sera à nouveau disponible (Tatsuo)
  • ajout du format des options longues à PCP (Guillaume Lelarge)
  • la nouvelle directive "debug_level" permet de contrôler le niveau des traces de débogage dans les fichiers de log
  • on peut désormais utiliser plusieurs représentations pour les valeurs booléennes dans le fichier pgpool.conf (Kitawaga)

Corrections de bugs

  • Un bug de gestion des timeouts a été corrigé dans les commandes PCP (Tatsuo)
  • le blocage de SSL lorsque de grosses quantités de données sont transférées a été corrigé (Tatsuo)
  • le failover lorsqu'il n'y a plus qu'un seul serveur de disponible a été corrigé (Tatsuo)

Thanks Dave & Sirius Guys!

Non seulement Dave Page est un core-hacker, non seulement il sera là aux PgDay EU 2009 , non seulement il fait partie de l'équipe d'organisation des PgDay EU 2009 non seulement il a fait en sorte que Sirius soit Sponsor Silver du PgDay EU 2009 à Paris les 6 et 7 novembre 2009, mais en plus il fait de la pub pour l'événement !

Et oui, c'est dans cette interview, que je vous conseille évidement de lire, que Dave nous en apprend un peu plus sur les PgDay EU 2009. Il n'oublie pas de dire qu'il y aura des soirées et d'autres surprises pendant ces deux journées.

Vraiment, Dave Page , est impressionant :-)

Quant à vous, si vous loupez cette occasion unique qui ne se représentera pas de si tôt en France de rencontrer des core-hackers de PostgreSQL et autres hackers de tout poil... bah, vous n'avez rien compris!)

So, thanks Dave & Sirius Guys :-)

Drupal et PostgreSQL : ça progresse !

Ahhh

Un code sprint Drupal sous PostgreSQL, qui fait énormément plaisir !

Quelques bugs semblent avoir été résolus, et tant mieux. Je sais qu'il y a de plus en plus d'utilisateurs de Drupal sous PostgreSQL, je voulais le faire savoir au plus grand nombre : c'est un couple gagnant.

Enjoy !

Whats new in PostgreSQL 8.4 ?!

Bon ok,

C'est en anglais (américain, pour être précis) et c'est présenté par l'excelllllentissime Robert TREAT qui vient de l'annoncer sur ce billet sur son blog... Mais ça dit vraiment tout... oui ... tout ce que vous voulez savoir sur la nouvelle version de PostgreSQL : 8.4.0 (qui est toujours en béta au moment où j'écris ces lignes).

Très sincèrement, si vous comprenez l'anglais, je vous recommande visionner cette vidéo/audio/slides que vous trouverez à cette adresse si vous vous demandez ce qu'il peut y avoir d'intéressant pour votre utilisation de PostgreSQL avec cette nouvelle version, attendue pour l'été 2009.

"So, thanks a lot Mister Treat!"

Enjoy !!

Un de plus... (bis)

Hop,

Pour faire écho à mon article "un de plus"... Voici un autre exemple: COHERIS CRM 4.5, dans ce communiqué du 25 mars 2009, on y lit:

La liste des SGBDs accédés a été étendue à MySQL 5.0, PostGreSQL 8.0 et SQL Server 2008 et le navigateur FireFox 3 est totalement supporté (ainsi que IE 7).

Donc, non seulement ça s'ouvre à PostgreSQL, mais plus globalement "aux logiciels libres"... (on verra pour MySQL, ok... )

Des exemples comme cela, il y en a tous les jours !

Un de plus...

Report One, dans son communiqué de presse de la sortie de MyReport 5.6 annonce le support de "PostgreSQL" ! N'hésitez pas à lire l'annonce sur leur site web.

Je vais de ce pas écrire à la société Report One pour les féliciter de cette ouverture :-) Et aussi pour leur dire que PostgreSQL s'écrit en un seul mot ;-)

C'est indéniable, les éditeurs de solutions propriétaires devant se connecter aux bases de données ne peuvent plus ignorer PostgreSQL.

On attend des signes forts de la part de certains gros éditeurs encore... Mais je reste persuadé que ça viendra.

Les 4 niveaux d'implication du Logiciel Libre (ou Open Source) en entreprise

Bon,

Je me lance dans ce post, car je répète souvent qu'il y a, à mon humble avis, 4 niveaux d'implication des entreprises dans le Logiciel Libre (ou Open Source). Je vais tenter de les expliciter, une fois pour toutes.

Tous les commentaires sont bienvenus !

Premier niveau

Le LL est utilisé dans l'entreprise depuis quelques temps déjà. Il y existe car au moins une ressource le maîtrise. Cette ressource a choisi le LL pour s'affranchir de démarches internes (achats, budgets..) souvent contraignantes. Et après tout, cette ressource-là est persuadée, à juste titre, que le LL dans tel ou tel cas est une solution stable, robuste, maintenable, etc. De plus c'est gratuit, donc... Cette entreprise-là se place en simple consommateur du LL: quand on a un problème, on demande à la communauté d'être aidé. En général, sans aucune contre-partie.

Deuxième niveau

Il est dit dans l'entreprise que le LL existe. Des logiciels LL sont placés au catalogue de la société, comme briques à utiliser dans les projets. Dans cette entreprise-là, au moins, le LL a une vraie place. Il n'y a plus qu'une seule ressource maîtrisant le LL, mais plusieurs, car l'entreprise a bien compris qu'il y avait un risque à ne voir maîtrisées ces technologies que par une seule (ou un tout petit nombre) de ressources. L'entreprise oriente alors ses recrutements, en exigeant des nouveaux arrivants de connaître telle ou telle technologie libre. Consciente que la survie de l'entreprise dépend, en partie, de ces technologies, l'entreprise donne du temps à certaines de ces ressources pour contribuer à des projets Libres. Ça va de quelques bugs reports à l'écriture de patches. Rarement plus. Dans les entreprises les plus en avance qui se situent dans ce deuxième niveau, on trouve même un "quota de temps de travail" à consacrer au LL.

Troisième niveau

Non seulement l'entreprise contribue au projet, mais elle l'aide financièrement. Ça va de quelques dons en nature (on recycle de vieux serveurs par exemple, en les donnant à un projet qu'on aime bien, ou qu'on utilise de manière intensive), au sponsorship actif de quelques hackers pour coder tel ou tel patch, ajouter telle ou telle fonctionnalité dont elle a besoin pour son business. Parfois, la société sponsorise un évènement sur un ou plusieurs LL qu'elle utilise. Elle témoigne ouvertement de son utilisation du LL en question, et en est fière. On voit fleurir ça et là plusieurs entreprises qui se situent à ce niveau d'implication dans le LL. On doit tous s'en réjouir. À mon avis, les entreprises qui en sont encore au niveaux inférieurs payeront un jour, d'une façon ou d'une autre, leur manque d'implication dans le Libre.

Quatrième niveau

L'entreprise est plus qu'impliquée dans le LL, puisqu'elle est elle-même le support d'un ou plusieurs LL. Il devient difficile de définir au sein de l'entreprise ce qui est de l'ordre de la communauté de ce qui est de l'ordre du business. Parfois, la frontière est résolument floue. C'est grâce à elle que tel ou tel LL avance plus vite. Elle embauche même des hackers dudit LL, et ils ont toute latitude pour le développer au sein même de l'entreprise. On leur demande en guise de rétribution d'aider (au niveau du support professionnel que l'entreprise propose à ses clients) les clients qui ont des problématiques complexes, ou des besoins importants. Au final, l'essor de ce LL en particulier est très important, car, après tout, ce n'est qu'une question de temps pour que le LL dépasse le logiciel propriétaire. Cependant, le LL n'est pas menacé pour autant. Même si cette entreprise venait à disparaître (les cas sont nombreux), le LL qu'elle a supporté pendant des années continue à vivre, au travers d'autres sociétés, ou tout simplement de particuliers, simples contributeurs acharnés, tout simplement grâce à la licence de ce LL qui garanti qu'à aucun moment, aucune société ne peut "prendre la main dessus". A tout moment, le groupe de core-hackers peut, grâce à cette licence Libre, "forker" ou créer un nouveau logiciel sur les bases de l'ancien, en toute légalité. Ainsi, il se créée un équilibre harmonieux entre LL et business, car chacun y trouve son compte. Les hackers peuvent vaquer à leur passion, et l'entreprise qui les emploie trouve un moyen de rentabiliser leur activité, de plusieurs façons: tout d'abord, la notoriété, qui permet à telle entreprise de justifier de son expertise dans tel domaine, et du coup, vendre du consulting, du support, des audits...


Pour ma part, j'ai eu la chance de progresser dans des entreprises où j'ai pu passer au fil du temps, du premier niveau au quatrième niveau. Je suis heureux d'être aujourd'hui dans une entreprise qui fait partie du Libre, et je pense sincèrement qu'il en est de même pour tous au sein de Dalibo.

- page 1 de 4