• [^] # Re: Oui mais Oracle n'est pas un moteur SQL...

    Posté par . En réponse à la dépêche Migrer de Oracle à PostgreSQL : Ora2Pg. Évalué à 3.

    Sommaire

    @baud123

    Mais qui est cet intrusif dans mon bug tracking ?

    merci pour cette hagiographie de metalink qui en pointe clairement les défauts (je n'en connaissais pas autant, notamment sur le côté intrusif)

    Tout le plaisir est pour moi :-)

    Plus sérieusement : je ne saisis pas très bien point de vue.

    • Dans un autre de tes commentaires, on comprend que "être indexé par Google" = "c'est bien". Or, à force d'indexer la terre entière et de collecter des téra-octets de données sur les recherches faites par 66% des utilisateurs d'un moteur, Google en sait sans doute plus sur toi et moi que notre propre médecin.
    • Mais dans ton commentaire que je mets en citation, tu considères comme intrusif le fait de donner ton accord à une équipe de support pour qu'elle puisse disposer d'une description fiable de ton environnement technique (et c'est un choix de ta part : si cela ne te convient pas pour n'importe quelle raison, rien ne remonte à l'équipe support en dehors du texte que tu as saisi lors de l'ouverture de ton ticket de bug)..

    Il y a un truc qui m'échappe un peu dans ton discours.

    A titre personnel, si des structures comme Apache et les autres me fournissent via leur outil de bug tracking un outil fait par leur soin, répondant à leur besoin, et qui me permet de joindre au ticket que j'ouvre un tar.gz contenant toutes les informations techniques qu'ils jugent utiles à l'analyse d'un dysfonctionnement, je prends à 200%.

    Que trouverais-tu de choquant à cette fonctionnalité si Apache ou d'autres la proposaient ?

    Il faudrait sans doute prévoir d'anonymiser quelques éléments puisque ces infos se retrouveraient alors dans la nature.

    Mais, sur le fond, où serait le problème ? Ne serait-ce pas profitable à tout le monde ?

    Pour info, je viens d'essayer reportbug de Debian car j'en ai entendu dire du bien et ça semblait se rapprocher de ce que je décris sur le RDA de Metalink :

    • Je ne suis pas allé au bout des étapes de reportbug car je ne connais pas le déroulement de leur "wizard" et je ne veux pas prendre le risque d'ouvrir un faux ticket.
    • C'est mille fois mieux qu'un pauvre formulaire HTML statique, y'a pas photo, et bravo à Debian mais, de ce que j'ai vu, cela ne remonte pas beaucoup d'infos sur mon environnement.

    Connais-tu d'autres projets open source qui disposent de ce genre d'outils ?

    Il se fait tard en France

    et qui met tant en valeur les bonnes pratiques qui ont lieu dans le libre (réactivité, pertinence, apport technique de qualité et renvoi factuel vers les documentations existantes).

    Je comprends que ton propos est de dire que le support peut être de qualité dans le monde open source.

    J'en suis convaincu (j'ai déjà eu l'occasion d'ouvrir quelques tickets de bug, sur Apache ou Tomcat par exemple).

    Le support d'Oracle francophone est donc maintenant canadien au vu de vos horaires respectifs ?

    Aucune idée.

    Je travaille en France mais je ne dialogue qu'en anglais avec le support Oracle et je ne leur ai jamais demandé où ils vivent.

    Ta question vient peut-être de l'horaire de mes commentaires ?

    Incitez-moi mais pas trop vite

    (je reconnais que j'ai un peu honte d'avoir copié sur Gréco)

    Quels points forts avez-vous trouvé à PostgreSQL dans vos essais ?
    Un lien vers un benchmark […]
    y-a-t-il une incitation à travailler de plus en plus avec du logiciel libre ?

    Je comprends que tu ouvres des questions plus générales qui vont bien au-delà de mon commentaire auquel tu réponds (car je n'ai jamais évoqué un quelconque bench Oracle vs pg dans mes commentaires).

    Je me permets de rebondir sur l'incitation. Si je compare aujourd'hui par rapport à la situation d'il y a 5 / 6 ans, il apparaît (de mon point de vue à moi que j'ai et que je partage) qu'il n'y a pas d'incitation mais une normalisation bien amorcée :

    • Au niveau technique : l'open source est entré dans les moeurs, c'est une solution naturelle, normale - on ne fait presque plus attention au fait que ce soit de l'open source, c'est de plus en plus transparent. Et c'est sans doute le mieux qui puisse lui arriver : se banaliser.
    • Au niveau du support :
      • La crainte existe toujours. Avoir le source de Tomcat, de Linux, du driver de ma carte SAN, … sous la main, c'est bien. Mais avoir en interne des gens capables de comprendre ce code, y backporter un patch, le recompiler avec les bonnes options, le patcher, le debuger, c'est une autre histoire car "you are not Google" (perdu le lien de l'article qui m'a inspiré cette petite phrase, désolé).
      • Dit autrement : les compétences nécessaires à ces tâches sont énormes, gigantesques, et hors de portée pour 99,9% d'entre nous (pour le faire correctement dans un contexte industriel).
      • Il faut donc pouvoir acheter du support auprès d'une société externe. Et là, ça manque encore de reconnaissance, donc de confiance (je ne parle pas du savoir-faire de ces sociétés, mais du fait qu'elles n'ont pas assez de renommée pour franchir certains barrages psychologiques, ce qui est très différent).
    • Au niveau légal : là, ça devient franchement délicat.
      • Il faut une armée d'avocats très pointus et parfaitement anglophones pour comprendre ce que l'on a le droit ou pas de faire en fonction des licences open source.
      • HP a été confronté à ce souci il y a quelques années et a reporté une date de sortie de son OS HP/UX à cause d'un souci de légalité vis-à-vis d'un composant open source qu'ils embarquent (pas de référence - c'est mon souvenir d'une conférence). Ils en ont fait profiter la communauté avec fossology (site en cours de reconstruction pour l'instant car atteint par l'attaque sur Linux Foundation mais on y trouve quand même de l'info). C'est un outil d'identification automatique des licences à partir d'une analyse des sources. D'après les infos qu'ils ont données lors d'une conférence : ils ont trouvé pas moins de 200 licences différentes dans le paquet de logiciels open source qu'ils ont analysés !
      • Comprendre réellement les implications d'une licence telle que la GPL, c'est déjà un exploit. Comment faire quand on mixe 2, 3, ou 5 produits open source dans un projet ?
      • Cette complexité n'est pas que théorique, genre "cela ne me concerne pas" : quand on utilise un logiciel open source, on adhère à sa licence et on s'engage à la respecter. C'est aussi (et peut-être d'abord) une question de principe en plus d'être une question légale : si la licence d'une quelconque bibliothèque (open source) que j'aimerais utiliser est incompatible avec la licence de mon socle (open source) EJB / PHP / …, alors je dois trouver une autre solution (une autre bibliothèque, la re-écrire mais sans la copier, changer de socle (glups !), …). Pas facile.
      • Et dans un environnement commercial "classique" où l'on vend du service ou du logiciel à des clients, cette complexité sur les licences peut vite devenir un cauchemar.

    Au delà du produit HP fossology et du pur aspect "licences", ceux qui se sentent concernés par cette problématique de choix de logiciels open source peuvent jeter un oeil à QSOS. Je cite : "QSOS est une méthode conçue pour qualifier, sélectionner et comparer les logiciels open source. Elle est mise à disposition de la communauté sous licence libre GNU Free Documentation License". Parmi les critères : la licence.

    Si, ça colle

    L'a-priori de djano àmha est lié à la date de création du compte, l'oubli du sujet principal de cette dépêche : PostgreSQL (et non Oracle) et la logorrhée fournie ;-)

    Je ne suis pas d'accord : au contraire, je pense que je "colle" parfaitement au sujet qui est "aller de Oracle vers PostgreSQL". C'est d'ailleurs ce qui a fait le déclic et qui m'a donné envie d'écrire un commentaire.

    En effet, ce chemin de migration peut nécessiter de traiter des dizaines d'autres éléments qui font partie d'Oracle mais qui ne sont pas couverts par l'outil ora2pg ni par postgres (jobs, CDC et Streams, vues matérialisées, rman, …). Je crains de me répéter, mais tant pis : Oracle n'est pas un moteur SQL, ça ressemble plus à un socle d'exécution.

    Il n'est donc pas inutile d'avoir une vision un peu plus complète de la chose.

    Et puisque tu mentionnes ma "logorrhée", je vais me permettre d'en ajouter un peu :-) : il peut aussi s'avérer nécessaire, pour faire ce genre de migration de traiter quelques trucs qui ne sont peut-être pas vraiment mineurs ni drôles au niveau des requêtes SQL de l'application.

    Par exemple :

    • Instruction MERGE), dit aussi "upsert" (Oracle 10g : MERGE) : pas d'équivalent en postgres, et pas simple à remplacer, c'est une instruction qui fait, en résumé "insert si ça n'existe pas, sinon update" (c'est dans le TODO de postgres). L'implémentation Oracle étant conforme au standard d'après Wikipedia, on peut espérer que ce sera aisé de migrer si postgres implémente un jour cette instruction.
    • Requêtes hiérarchiques avec CONNECT BY : je n'ai pas trouvé en postgres (mais ça existe peut-être quand même ?). Et, non, malheureusement, une CTE ou requête récursive n'est pas obligatoirement équivalente car, qui dit "récursion" dit "stack overflow" possible selon l'implémentation faite par le moteur SQL. Donc prudence.
    • Opérateurs ROLLUP et CUBE (même document) pour faire des calculs croisés "de la mort qui tue", ou, de manière plus académique, de l'analyse multidimensionnelle : pas trouvé non plus - quelqu'un sait si cela existe ?
    • Clause LOG ERRORS (chercher "LOG ERRORS" dans ce document) sur INSERT et MERGE : pas trouvé non plus - quelqu'un sait comment on peut faire pour, par exemple, insérer des données dans une table et "ranger" automatiquement dans une autre table toutes les données que l'on n'arrive pas à insérer (doublon de PK, erreur de format numérique, …), en y ajoutant un marqueur perso afin d'identifier la source de l'erreur (nom de l'application, date de l'insert, …) ?

    Par contre, postgres supporte la clause "over", comme Oracle, et c'est une très bonne nouvelle car ça fait aussi partie des trucs qui peuvent être très difficiles à remplacer par du SQL "fait main" (pour postgres, voir ici, il y a aussi ceci pour se faire une idée).

    Je reviens sur la "logorrhée" : je ne vois pas comment écrire avec moins de mots ce que j'ai écrit plus haut sur le sujet de l'"incitation à travailler de plus en plus avec du logiciel libre". On ne peut pas tout compresser à l'extrême. Mais j'admets volontiers que c'est un défaut si tu le juges ainsi.

    Sun Tzu

    En terme d'ouverture, pourquoi justement ne pas faire de retours de vos essais plutôt que de défendre à tous crins du propriétaire, ne faudrait-il pas faire preuve d'ouverture pour montrer ce qui fonctionne bien ?

    Oups… Je viens de me rendre compte que vous me vouvoyez alors que je te tutoie. Je propose de rester au "tu", si cela vous / te convient.

    Je ne sais pas comment dire que je ne défends personne, je ne cherche pas à convaincre qui que ce soit que Oracle est meilleur que les autres (car il y a autant de réponses à cette question qu'il y a d'architectures à créer, de projets à mettre en place, … et, comme tu le dis, en plus, ça varie dans le temps !).

    Jusqu'à présent, il me semble, j'ai décrit ce que je connais et sauf erreur de relecture de ma part, je n'ai à aucun moment prétendu que c'était mieux qu'autre chose. On peut comprendre que c'est différent (voir "merge" par exemple plus haut dans mon commentaire).

    En quoi est-ce défendre Oracle ?

    On peut même aller plus loin :

    • S'il faut défendre l'open source, alors il importe de connaître l'ennemi (librement et lâchement inspiré de l'art de la guerre, 3.18 : "Je dis que si tu connais ton ennemi et si tu te connais, tu n’auras pas à craindre le résultat de cent batailles. […]").
    • Et je t'apporte un peu de cette connaissance sur un plateau, tout va bien, non :-)

    (l'exemple du projet Naca est très bien trouvé, je m'étais justement fait la remarque cette semaine :p)

    Begin séquence "cours de récréation"

    Trop tard !!! J'étais prem's sur NACA :-)

    Et j'ai aussi QSOS et Fossology : et toc !

    End séquence "cours de récréation"

    Bienvenue à bord

    Bienvenue en tout cas dans notre (autre) monde du libre sur LinuxFr.org, tout autant rempli de gens compétents mais qui hésitent parfois à s'exprimer et préfèrent souvent les discussions factuelles sur le libre (ce qui devrait devenir intéressant si cela continue :D).

    Merci pour l'invitation, je dois t'avouer que c'est un peu rebutant de se prendre des claques quand on pense juste être sincère et factuel :

    • Tu me reproches un manque d'ouverture : que devrais-je penser de jugements qui sont manifestement construits sur la date d'ouverture de mon compte ou sur la simple présence du mot "Oracle" ?
    • Je n'ose pas imaginer combien de gens un peu hésitants et compétents ont renoncé ou hésitent à s'exprimer à cause de ce genre de trucs… C'est affligeant.

    Je ne me sens pas concerné par "autre" dans "(autre) monde du libre" : je baigne dans l'open source depuis l'époque de l'Amiga grâce à un "fondu" qui envoyait des disquettes à la terre entière avec des applis faites par des passionnés + les sources (mais j'ai perdu le nom du gars en question…).

    • Pour la discussion, c'est avec plaisir que j'écris (déjà un peu plus de 2000 mots dans ce commentaire :-) et que je lis ce qui s'écrit ici.
    • Pour le factuel, j'ai la modeste prétention de considérer que je le suis. A défaut, merci de me pointer mes erreurs.
    • Pour la fréquence des écrits, ça risque d'être plus aléatoire : je suis un lecteur régulier de linuxfr (et d'autres) mais j'ai un métier qui est très prenant et qui ne permet pas toujours de m'adonner à ma logorrhée jusqu'à 2H30 du matin.

    Au plaisir de te lire.