linuxfr.org dans une base postgresql ?

Posté par  . Modéré par Benoît Sibaud.
Étiquettes :
0
8
fév.
2003
Internet
Avancée pour les logiciels libres : la base de données concernant les noms de domaine en .org est en train de passer sous Postgresql !

Malgré les motivés d'Oracle, c'est finalement une solution logicielle libre qui sera retenue.

Note du modérateur : pour une fois, quelqu'un dit du bien de l'ICANN sur LinuxFr

Aller plus loin

  • # Re: linuxfr.org dans une base postgresql ?

    Posté par  . Évalué à 8.

    Il serait bon que le modérateur prenne un minimum de temps pour lire les articles référencés par la news qu'il modère. Ce n'est pas l'ICANN qui gère le .ORG, mais PIR, Public Interest Registry (sous-traité à Afilias).
    • [^] # Re: linuxfr.org dans une base postgresql ?

      Posté par  (site web personnel) . Évalué à 9.

      Toi qui as lu l'article, qui a choisi le PIR ? En accord au critère de « responsiveness to the noncommercial Internet user community and the type, quality, and cost of the registry services proposed. ». Le PIR qui a durant le processus de sélection apparemment toujours défendu PostgreSQL, d'après l'article. Comme quoi parfois l'ICANN fait de choix corrects (ou en tout cas pas le plus mauvais choix). CQFD. Je n'ai jamais prétendu que l'ICANN gérait les .org.
      • [^] # Re: linuxfr.org dans une base postgresql ?

        Posté par  . Évalué à 7.

        Le PIR qui a durant le processus de sélection apparemment toujours défendu PostgreSQL, d'après l'article. Comme quoi parfois l'ICANN fait de choix corrects (ou en tout cas pas le plus mauvais choix). CQFD.

        Je pense que le choix d'un prestataire pour la gestion du registry .org ne répond pas, ou ne devrait pas répondre, qu'à des critères techniques mais aussi politiques, éthiques, sociaux, culturels, économiques. Sous-entendre que parce qu'ils ont choisi un candidat utilisant des logiciels libres, c'est une bonne décision, me semble un peu léger. On peut faire des choses condamnables avec des logiciels libres ou des standards interopérables (voir la news sur OASIS et l'échange d'écoutes électroniques entre services secrets).
        • [^] # Commentaire supprimé

          Posté par  . Évalué à 2.

          Ce commentaire a été supprimé par l’équipe de modération.

  • # Re: linuxfr.org dans une base postgresql ?

    Posté par  . Évalué à 4.

    « pour une fois, quelqu'un dit du bien de l'ICANN sur LinuxFr » : pour une fois qu'il y aurait du bien à en dire, si l'ICANN était réellement concerné :)
    • [^] # Re: linuxfr.org dans une base postgresql ?

      Posté par  . Évalué à -10.

      Oracle, c'est quand même mieux que IIS ou que l'antique DB2, non?
      • [^] # Re: linuxfr.org dans une base postgresql ?

        Posté par  . Évalué à 5.

        Faut se renseigner avant de raconter des co******. Tout d'abord IIS n'est pas un SGBD mais les services http/ftp de Ms.
        Ensuite DB/2 pour ton information est la base de données leader dans le monde.... Bah oui. Et elle n'a rien d'antique au contraire, les version Unix de DB/2 datent du début des années 90. C'est au contraire un regard assez neuf sur les SGBD. Le rachat d'informix par IBM permet de plus de retrouver toutes les bonnes idées d'Informix dans DB/2.
        Chaque SGBD a ses forces et ses faiblesses. Quand tu feras tourner des bases de 12 To sur PostGres tu me feras signe. Par contre, il y a plein de petites bases qui n'ont pas besoin d'oracle ou de DB/2, alors PostGres est parfait.
        • [^] # Re: linuxfr.org dans une base postgresql ?

          Posté par  . Évalué à 1.

          Et si tu t'étais renseigné, tu aurais vu que la base de donnée leader dans le monde, c'est Oracle ...
        • [^] # Re: linuxfr.org dans une base postgresql ?

          Posté par  . Évalué à 1.

          Tout d'abord le nom de la base c PostgreSQL. Et J'ai une base de données de 10 Go et ca marche sans problème, a condition de faire des vaccum regulierement ....
          Je te signale juste que PostgreSQL possede bon nombre
          de fonctionnalités que l'on trouve dans les db commerciales et qu'au niveau maturité PostgreSQL n'a rien a envier aux autres db.
          • [^] # Re: linuxfr.org dans une base postgresql ?

            Posté par  (site web personnel) . Évalué à 2.

            Pour compléter précisons que PostgreSQL a un TCO défiant toute concurrence. Install en 2 minutes, un cron pour le vacuum la nuit, et ensuite maintenance zéro. Ca marche.

            De plus avec le logiciel client graphique pgAdmin II même les windoziens sont content avec PostgreSQL. Logiciel complet et puissant. Que demander de mieux ?
          • [^] # Re: linuxfr.org dans une base postgresql ?

            Posté par  . Évalué à 1.

            J'ai une base de données de 10 Go et ca marche sans problème, a condition de faire des vaccum regulierement ... Je suis très intéressé par ton expérience. J'utilise Postgres mais il est très peu sollicité donc aucun problème de performance ou d'optimisation. J'ai plusieurs questions. - Qu'est-ce que tu gères comme type de données ? - Quels sont les accès majoritaires (lecture, écriture, mise à jour) ? - Combien de clients simultanés en général et au maximum ? - Quand tu parles de faire des vacuum régulièrement, as-tu remarqué que sans ça, la vitesse baissait sensiblement ? - combien de temps prend le vacuum (si ta base est grosse et s'il y a bcp de modifications, ça doit commencer à faire) ? - avec quels paramètres tu lances le postmaster ? Au fait, pour avoir une base de données de 10 Go, j'imagine qu'elle est répartie en plusieurs tables (donc plusieurs fichiers), étant donnée la limite à 2 Go pour les fichiers. As-tu mis ta base (ou le PGDATA) sur une partition séparée ? Merci pour toutes les précisions que tu voudras bien apporter.
            • [^] # Re: linuxfr.org dans une base postgresql ?

              Posté par  . Évalué à 2.

              Pour repondre a tes questions : La base contient environ 100 tables et en fait c la machine de test reprise avec les données d'une base oracle. La plupart des accés sont de la lecture. Les updates et insert sont bcp moins importants car la plupart c du reporting. Il n'y a pas de blob , les types sont les types basiques mais surtout des varchars Il y a des contraintes de foreign key et des triggers et des procedures pl/sql Pour que les perfs soient bonnes pas de secret avec postgresql ... faire un show du plan d'analyse et creer les index qui vont bien. Pour ce qui est du vaccum il tourne la nuit et il prend qq heures ( 5 heures ) J'ai remarqué que sur de grosses entrees ( surtout insert dans de milliers de ligne ou des delete dans une table ) le vaccum permettait de remttre les stats a jour et de reordonner la table donc les perfs sont ensuite bonnes. En fait sans vaccum les perfs se degradent au fur et a mesure. Pour ce qui est des optims, en ajustant la share memory, les params du journal etsurtout les index qui sont sur un disque différents des tables de données j'obtiens des perfs honnorables. Sur certains requetes je suis identique a oracle Voila j'espere que ca repond a tes questions
              • [^] # Re: linuxfr.org dans une base postgresql ?

                Posté par  . Évalué à 1.

                Pour que les perfs soient bonnes pas de secret avec postgresql ... faire un show du plan d'analyse et creer les index qui vont bien. Tu fais ça en ligne de commande, ou bien tu utilises le bel outil graphique de RedHat (pour le "show plan") ? Il faudra que j'essaie pour voir, sauf que j'ai des requêtes simples donc les index coulent de source (souvent, celui par défaut sur la clef primaires suffit). Pour ce qui est du vaccum il tourne la nuit et il prend qq heures ( 5 heures ) La vache, je comprends que ça dérange certains, en particulier quand la base doit fonctionner 24h/24 (même s'il y a un creux la nuit). Tu fais un "vacuum full" ou un simple vacuum (depuis je ne sais plus quelle version récente, il existe un vacuum qui ne bloque pas les tables, mais du coup je ne sais pas à quel point ce vacuum est efficace par rapport au "full"). Au fait, quelle version de Postgres utilises-tu ? Pour ce qui est des optims, en ajustant la share memory, les params du journal Justement, tu pourrais me donner ton fichier d'options ou ta ligne de commande (pour que je voie les paramètres du genre de ceux que tu mentionnes). J'ai remarqué qu'en augmentant la mémoire partagée on augmentait un peu les perfs, j'ai mis "-B 256" au lieu des 64 de base, mais je n'ai presque pas joué avec les paramètres (en particulier le journal). Est-ce que tu utilises l'option "-F" (do not flush) ? surtout les index qui sont sur un disque différents des tables de données Pas mal. Tu as combien de disques différents ? J'imagine que mettre le journal (WAL file) sur un disque séparé accélère bien les choses aussi. Voila j'espere que ca repond a tes questions Merci pour toutes tes informations. J'essaie de pousser à fond Postgres dans ma boîte car on utilise Oracle mais pour des besoins qui ne le justifient pas du tout à mon avis (et quand j'ai vu le prix d'une licence, j'ai sursauté). Problème, ça "rassure" un peu le client (qui au passage doit acheter une licence Oracle).
                • [^] # Re: linuxfr.org dans une base postgresql ?

                  Posté par  . Évalué à 2.

                  Effectivement pour ce qui est des disques dur j'en ai 4 en SCSI, et donc les index sur un les data sur l'autre le systeme sur le 3 eme et le wall sur un petit disque . Pour les index je les aient deplacé via des liens. Effectivement je met un -F au demarrage, et avec le journal je n'ai eu aucun soucci. donc dans postrgesql.conf je mets 256 Mo et 64 pour la sort mem (utilisé quand on fait un group by ou un order dans une requete ) shared_buffers = 256000 sort_mem = 64000 max_connections=64 fsync=false ( = option -F ) Pour ce qui est de l'analyse ben j'utilise le explain a la main sur les requetes qui prennent du temps en regardant ou il fait des sequential scan et pourquoi Je suis d'accord avec toi quand on veut une base de données simple et fiable ( redo log ) postgresql va tres bien .. maintenant avec oracle t'as IFS , un worflow les proc java supportés etc ... mais c tres cher par rapport a ce que ca t'apporte. Avec postgresql il y a du support commercial ( voir sur le site de postgresql)
        • [^] # Re: linuxfr.org dans une base postgresql ?

          Posté par  . Évalué à 1.

          Le rachat d'informix par IBM permet de plus de retrouver toutes les bonnes idées d'Informix dans DB/2.

          Tu peux en dire plus sur ces bonnes idées ?

          Quand tu feras tourner des bases de 12 To sur PostGres tu me feras signe.

          Est-ce que tu as essayé ? Parce que je te rappelle que MySQL (encore moins taillé pour les gros volumes que Postgres à priori) a égalé Oracle sur un gros test, sur une machine octoprocesseur avec des Go de données. Je n'ai pas l'URL sous la main mais ça doit se trouver facilement, c'est sur eweek en tous cas.

          J'aimerais bien voir un test de Postgres sur une grosse quantité de données, et comparer ça à une autre base, en appliquant éventuellement quelques optimisations. Le problème est qu'il faudrait que j'achète Oracle ou DB2 pour ça ! Sans compter que Postgres s'installe en 10 minutes alors que pour Oracle, ouille ouille (j'ai des collègues qui connaissent bien), sans compter les besoins en disque et en mémoire.
          • [^] # Re: linuxfr.org dans une base postgresql ?

            Posté par  . Évalué à 2.

            Bien que PostgreSQL prenne de plus en plus la voie d'un Oracle Killer, il n'en est pas encore la. Les deux gros points forts d'Oracle sont sa versatilite (j'ai un pote qui c'est amuse a coder un jeu d'echec en PL/SQL) et sa vitesse de traitement sur des bases importantes. Oracle se fait encore fiche des pates memorables par deux bases de donnees sur deux points specifiques : - Sybase pour tout ce qui est de la vitesse d'insertion et d'extraction de donnees dans une base fixe (ie pas de alter table ou de creation de tables temporaires). C'est pour ca que Sybase est utilise dans pas mal de projets temps reel (c'est aussi la base de reference du systeme boursier Reuters) -DB2 pour tout ce qui est du suivi d'integrite de la base et la protection des donnees. PostgreSQL reste cependant un tres bon systeme, nettement meilleur a bien des points de vue que les bases de donnes commerciales non industrielle (ie toutes sauf les trois monstres Sybase,DB2,ORACLE). Cependant il est vrai que Postgres est une base de donnee a voccation objet et que si on ne s'en sert pas bien il faut faire du menage sans arret (Ceci n'est pas un reproche pour les posts plus haut, il est tres difficile de bien se servir de PGSQL). Independament de ca il est vrai que sur les grosses bases (3Go ou plus) indexes, faire une transaction puis faire un rollback prend un temps fou et necessite de faire un gros menage derriere. Mais a part ce cas la, je ne crois pas qu'Oracle vaille encore le coup sur des machines standard (ie becanne a moins de 3000 euros). PostgreSQL s'en sort quasiment aussi bien. Par contre d'experience je dirais que les deux ou trois heures que l'on gagne a l'installation de postgreSQL sur Oracle, on les perd lors de la mise en place de la premiere base de donnees. Donc pas de veritables avantages sur ce point. kha
            • [^] # Re: linuxfr.org dans une base postgresql ?

              Posté par  . Évalué à 1.

              Les deux gros points forts d'Oracle sont sa versatilite (j'ai un pote qui c'est amuse a coder un jeu d'echec en PL/SQL) Il me semble que sous Postgres, ou peut coder un peu ce qu'on veut en procédural, non ? Que ce soit en pl/pgsql ou en C même... DB2 pour tout ce qui est du suivi d'integrite de la base L'intégrité de la base n'est-il pas un point fort de PostgreSQL (surtout par rapport à MySQL) ? Foreign keys, transactions, etc... Postgres est une base de donnee a vocation objet et si on ne s'en sert pas bien il faut faire du menage sans arret (Ceci n'est pas un reproche pour les posts plus haut, il est tres difficile de bien se servir de PGSQL). Tu parles de "vocation objet", ça implique quoi ? Pour moi Postgres est une BDD relationnelle en premier lieu. Peux-tu préciser ce que tu entends par "bien se servir de Postgres" (ou "mal") ? Je suis preneur de choses à éviter et de trucs à savoir. Par "ménage", tu parles de vacuum ou d'autre chose ? Par contre d'experience je dirais que les deux ou trois heures que l'on gagne a l'installation de postgreSQL sur Oracle, on les perd lors de la mise en place de la premiere base de donnees. On les perd pourquoi ? (et oui, que de questions :-)
              • [^] # Re: linuxfr.org dans une base postgresql ?

                Posté par  . Évalué à 1.

                Dans postgresql on a une notion d'heritage ... (se referer au mot cle inherits ) qui permet dh'eriter entre tables .... Y'a aussi le fait que dans postgresql on peut ajouter de creer de nouveau type /objet (create type ) Enfin c pas mal comme fonctionnalité car tu peux creer tes propres types avec les controles qui vont bien ( par exemple un type ean13 qui sait calculer sa cle et afficher sa represnetation dans un blob )
              • [^] # Re: linuxfr.org dans une base postgresql ?

                Posté par  . Évalué à 3.

                Il me semble que sous Postgres, ou peut coder un peu ce qu'on veut en procédural, non ? Que ce soit en pl/pgsql ou en C même...

                C'est assez vrai, il y a un certain nombre de languages qui permettent d'ecrire des triggers qui sont supportes de base par PG. Mais il n'y a pas le meme niveau d'integration que dans Oracle (Par exemple la possibilite de suivre pas a pas une transaction ou un export de donnees). Oracle a encore de l'avance a ce niveau, meme si PG commence a talonner de pres.

                L'intégrité de la base n'est-il pas un point fort de PostgreSQL (surtout par rapport à MySQL) ? Foreign keys, transactions, etc...

                PG s'en sort pas mal au niveau des controles d'integrite c'est vrai. Mais il y a a peu pres le meme ecart entre MySQL et PG qu'entre PG et DB2. DB2 possede (entre autre) des systemes d'indexs variables entre les donees consolidees et celles qui ne le sont pas, un systemes de rollback multibase (capable de remettre en etat precedent une base de donnees fille quand un truc foire sur une autre) et un systeme de shadow data(copie conforme de la base a l'etat n-1) qui permet d'eviter un maximum d'annerie (surtout lors des imports et exports de donnees exterieures). A ce niveau la PG ne joue pas du tout dans la meme cour que DB2 (Oracle non plus d'ailleurs)

                Tu parles de "vocation objet", ça implique quoi ? Pour moi Postgres est une BDD relationnelle en premier lieu. Peux-tu préciser ce que tu entends par "bien se servir de Postgres" (ou "mal") ? Je suis preneur de choses à éviter et de trucs à savoir. Par "ménage", tu parles de vacuum ou d'autre chose ?

                Ben je suis un peu comme toi je tatonne. Je n'ai pas la pretention d'etre un maitre es PostgreSQL, mais je me suis rendu compte que les fonctionalites objets permetaient de faire pas mal de chose pour limiter les effets du vacuum.
                Notemment sur un flux de donnees non consolide (infos clients non valides, warning de prod non confirmes, infos non verifies etc...). J'ai un systemes de logs d'evenements qui rentre les donnees dans une base PG. Prob 90% des evennements sont des consequences d'un autre probleme plus general (ie si un routeur tombe on se doute bien qu'il va y avoir 200 machines qui ne vont plus repondre au ping, et on s'en fiche pas mal(ceci est un exemple tout commentaire du type "cretin d'admin il avait doubler les routes " n'est pas le bienvenu) ). On se retrouve donc avec 201 incidents dont un seul qui nous interresse. Au final dans l'historique des evenements on ne gardera que celui qui nous interresse et on fichera les 200 autres a la poubelle. => 200 fantomes pour le vacuum, bon apetit.
                Autre solution, on cree un type "incident1" un peu comme on creerait une table temporaire, on externalise ses donnees vers un fichier texte. Au moment de consolider la base, on detourne les incidents qui arrivent vers un type "incident2", on recupere le sinfos qui nous interresse dans le type "incident1", on detruit le type "incident1" (attention pas de betise l'artiste travaille sans filet) et on shoote les fichier texte. Et qund le vacuum passe il trouve des donnees qui ne veulent rien dire pour lui (donc qu'il n'aura aucun remors a supprimer) et qui sont tres limitees (ce ne sont que des pointeurs vers une ligne de texte).
                Ca ecconomise pas mal de temps.
                Par menage j'entend les deux choses : Consolidation + vacuum.

                On les perd pourquoi ?

                Ben je sais pas pour toi , mais moi j'aime pas que ma base soit modifiee a tire larigo sans que je sois au courant. PostgreSQL a donc sur ma machine son comilo C dedie, son TCL dedie, son interpreteur phyton a lui. (Bon je sais je suis un peu maniaque, mais dans un environement de production ca vaut mieux).
                De plus je prefere mettre en place de base un certains nombre de regles (vis a vis des timestamp et des formats de date en general) avant de me lancer dans la creation de BD. Bon je ne te cache pas qu'avec mes manie sil me faut pas loin de 10 heures pour monter un serveur PG dont je sois content, mais je pense que trois heures pour etre propre c'est un minimum.

                Kha
          • [^] # Re: linuxfr.org dans une base postgresql ?

            Posté par  . Évalué à 1.

            Comparer MySQL a Oracle c'est comparer une Rolls a une Renault.

            MySQL ne joue pas dans la meme categorie que PostregreSQL/SQL Server/DB2/Oracle, il lui manque un certain nombre de choses pour lui permettre de jouer dans la meme cour, et ces manques lui permettent d'aller plus vite dans certains cas.

            Bref, une moto peut aller plus vite qu'une voiture, mais bon, tu peux pas mettre 4 valises et 5 personnes sur une moto et faire du 120.
            • [^] # Re: linuxfr.org dans une base postgresql ?

              Posté par  . Évalué à 1.

              MySQL ne joue pas dans la meme categorie que PostregreSQL/SQL Server/DB2/Oracle

              Je n'ai pas dit ça et je le sais bien, je voulais seulement mentionner (avec le test d'eWeek) que *même* MySQL pouvait traiter de gros volumes de données.

              Personnellement, je n'utiliserais pas MySQL pour une base vitale et avec des besoins importants d'accès concurrents. J'ai essayé de porter pgbench (livré avec Postgres) pour MySQL, mais j'ai eu des problèmes quand j'ai voulu entrelacer les accès en mode transactionnel (mode "read commited"), ça faisait un deadlock. J'ai utilisé la dernière version 3.x prise du site, avec table InnoDB pourtant. Peut-être faudrait-il que j'essaie la version 4.x qui supporte plus complètement l'aspect transactionnel. Bon, j'ai peut-être mal configuré quelque chose...

              MySQL reste sûrement précieux pour des "petits" besoins comme un site (ou disons des besoins moins rigoureux), à cause de sa vitesse sur certains types d'accès.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.