Interview de Olivier Dasini, MySQL Principal Solutions Architect EMEA Oracle France

Podcast Radio :

La Tribune de Stéphane : Olivier Dasini MySql Oracle

La vidéo de l’interview Webcam est disponible en bas de page

Introduction, MySql, le rachat par Sun puis Oracle

Aujourd’hui avec optimisation entreprise, Olivier Dasini. Olivier, bonjour, tu vas bien ?

Bonjour Stéphane, très bien et toi ?

Super, merci d’être revenu, c’est super gentil. Est-ce que tu peux te présenter pour qu’on sache qui tu es ? Et puis après, une fois qu’on aura effectivement le poids de ta parole, tes origines, on rentrera sur MySQL, Oracle, etc.

Alors, je m’appelle Olivier Dasini. Je suis dans l’écosystème MySQL et l’open source au sens large du terme depuis une vingtaine d’années maintenant,le temps passe vite… Pour faire simple, j’ai commencé en tant que développeur PHP, et formateur PHP. Et puis, dans la boîte où j’étais, on a eu l’opportunité d’être partenaire MySQL France.MySQL France est arrivé, donc c’était une poignée en fait, et ils cherchaient une boîte, un partenaire pour faire des formations.

À l’époque de Kaj Arno ?

À l’époque de Kaj, effectivement.

D’accord, tu étais chez Anaska avec Cyril ?

Exactement, c’est Anaska. Avec Cyril, avec Romain et bien d’autres. Et donc, du coup, j’étais développeur PHP, formateur PHP. Et comme j’ai un background de base de données, lorsqu’ils ont cherché des partenaires pour faire des formations, j’étais désigné volontaire.J’ai découvert MySQL à ce moment-là, et j’ai été formé par l’équipe MySQL. Et puis, ça a commencé comme ça, un coup de foudre en fait.

Ok. Et tu es ingénieur de formation ? Qu’est-ce que tu as comme formation ?

Moi, j’ai une formation assez classique, universitaire en fait. Donc, j’ai fait des études orientées développement.

Donc, un deug de maths, une licence d’informatique ?

Voilà, c’est ça. C’était exactement ça. D’ailleurs, pour la petite histoire fun fact, j’ai découvert la base de données en licence, ou peut-être un petit peu avant la licence d’informatique. C’était sur du Postgresql, en fait. J’étais à l’université Antilles Guyane,donc on n’a pas beaucoup de moyens là-bas. Et on a du soleil, mais pas beaucoup de moyens. Et du coup, l’open source, c’est très indiqué, notamment pour ce type de contexte. Et j’ai découvert la base de données. Et je me suis dit, en fait, quand j’ai découvert la base de données là-bas, je me suis dit… Mais jamais je ne travaillerai dans les bases de données:))) C’était un autre monde. Et puis voilà, quelques années plus tard,je me suis spécialisé là-dedans.

D’accord. PostgreSql, c’était en quelle année, ça ? 2003, 2004 ?

Sûrement dans ces eaux-là. Je ne suis pas très bon en années. Ça remonte. Je n’avais pas de cheveux blancs à l’époque, en tout cas. Mais ouais, ça date.

Déjà, à l’époque, c’était extrêmement en avance, PostgreSql. Il fallait faire ses propres index. Mais si je me souviens bien, les concepts de clés étrangères et de relationnels étaient plus avancés que MySQL au départ.

Oui, tout à fait. Mais en fait, le concept est différent. Postgres se veut, on va dire, la version open source de la base de données Oracle. Donc Oracle qui reste la référence en termes de bases de données. Voilà, la base de données la plus avancée. MySQL, en fait, le concept était différent. C’était plutôt du pragmatisme. Et d’ailleurs, je pense que c’est ce qui a contribué à rendre populaire MySQL, c’est que ça n’a pas été à priori fait pour des spécialistes de bases de données. En fait, c’était du DevOps avant l’heure. La plupart des gens qui géraient les bases de données MySQL, c’était des développeurs, c’était des admins sys. Pas forcément des gens qui ont un background base de données, en fait. Pas des DBA, je veux dire, en sens littéral du terme. Et voilà, typiquement avec MyIsam, par exemple, pour faire une sauvegarde, on faisait une sauvegarde du file system. Donc, d’un point de vue admin sys, c’était un outil admin sys supplémentaire, en fait. Du coup, l’avantage, c’est que ça a permis à plein de gens qui n’avaient pas cette culture de base de données de pouvoir partir avec une base de données qui fonctionnait bien et qui fonctionne toujours bien. D’ailleurs, l’inconvénient, c’est que les bonnes pratiques n’étaient pas forcément respectées à l’époque, mais ça a donné beaucoup de boulot aux consultants par la suite, Ce qui n’est pas plus mal non plus 🙂

Alors, on va rappeler aux gens, on va faire un petit peu d’histoire, parce que moi, j’ai connu ça.Je suis un ancien, j’ai commencé à bosser en 1999. Je sortais de l’informatique de gestion et j’ai vu les premiers sites internet qui faisaient la base de données sur des fichiers textes, avec des développements en Perl et qui allaient taper dans des fichiers en texte. Et j’ai vu MySQL arriver qui, en fait, a mis une couche d’interpréteurs SQL au-dessus, en fait, de ces fichiers textes. Et c’est comme ça qu’est venu MySQL. Et c’est comme ça qu’à l’origine, le moteur MySQL s’est développé. InnoDB, c’est bien, bien, bien, bien, bien plus tard. Et effectivement, tu prenais les fichiers MySAM, là, tu les recopiais d’un répertoire à l’autre et tu recopiais tes tables. Et au lieu de faire des tableaux en mémoire en lisant des fichiers textes, tu avais un outil, mais qui, lui, contrairement aux autres, avait plusieurs avantages. C’est que, un, tu ne facturais pas, tu n’étais pas en train d’acheter le nombre de connexions, chose qui était le modèle client-serveur qui existait beaucoup à l’époque dans les bases de données professionnelles. Et c’était axé rapidité, parce que tu n’avais pas 10 ou 15 personnes sur un client-serveur, là, tu avais le monde qui était en face. Donc, c’est comme ça, effectivement, que MySQL est rentré dans l’Internet, dans l’Open Source. Et les autres ont mis longtemps à le rattraper. MySQL Server et les autres ont mis un certain temps, effectivement, à le rattraper. Ce que j’ai dit c’est bon, est-ce que j’ai dit ça colle, là ?:)

Oui, tout à fait. C’est exactement ça. Je rajouterais juste qu’à cette époque-là, la plupart de ces applications plutôt orientées web avaient des workloads plutôt orientées lecture. Et donc, du coup, ce modèle-là était totalement adapté pour ça, notamment MyIsam. Pour la lecture, c’était super rapide.

Absolument, absolument. D’ailleurs, on fait un pas en avant de plusieurs dizaines d’années, mais MongoDB, quelque part, philosophiquement,c’est le retour à cette origine-là.

Exactement, c’est exactement ça. L’idée, c’est que, comme je te disais, c’était un outil qui n’était pas forcément orienté DBA, mais plutôt pragmatique. C’est ce que j’entends par pragmatique. Ce n’était pas une base de données aussi complète qu’un PostgreSQL, par exemple, mais beaucoup plus simple à appréhender. Et du coup, il n’y avait pas forcément tous les outils préférés des DBA. Donc, c’est venu par la suite. Ça s’est complexifié. Et exactement, l’exemple MongoDB est super bon exemple. On est revenu en arrière, en fait, pour des raisons de performance, de simplicité. Et finalement, typiquement, je ne sais pas si tu te souviens, mais au début, quand le NoSQL, le mouvement NoSQL s’est présenté, NoSQL qui veut dire Not Only SQL, ce qui a totalement du sens. Le SQL n’est pas adapté pour tout. Mais ils ont essayé de rentrer en confrontation pour dire No-SQL, pas du tout de SQL. Et finalement, la plupart de ces outils-là ont redéveloppé leur propre langage SQL parce que manipuler les données, je suis désolé de le dire, pour ceux qui n’aiment pas le SQL, mais on n’a pas rien fait de meilleur aujourd’hui que le SQL pour manipuler les données. Cette couche d’abstraction, ce langage descriptif, en fait, en langue anglaise, on va dire en langue naturelle : donne-moi les noms, les prénoms des clients qui ont consommé, qui ont dépensé tant, etc. Cette couche d’abstraction pour aller manipuler les données, c’était révolutionnaire pour l’époque. On n’a pas fait mieux aujourd’hui.

Le langage SQL, c’est 1974-75, c’est par là ?

C’est dans ces eaux-là.

Et puis la programmation objets, on va dire aussi. Il n’y a pas eu tellement d’énormes révolutions technologiques à part la certaine complexification… Donc là, MySQL, effectivement, on découvre MySQL. Est-ce que toi, tu as assisté au rachat de MySQL par Oracle ?

Oui, tout à fait. À cette époque-là,je faisais déjà partie de la communauté. Dans le déroulé, MySQL, qui était propriétaire de MySQL AB, la société qui faisait MySQL…

Avec le petit dauphin:)

… a été rachetée par Sun. Lors du rachat par Sun, au niveau de la communauté, c’est plutôt bien passé. L’idée, c’était qu’on pensait que ça allait permettre à MySQL de franchir un cap. En tant qu’indépendant, c’est toujours un peu compliqué d’aller chercher des ressources, notamment financières, donc de franchir un cap pour aller taper d’autres marchés, enrichir le produit, etc. Et puis, dans la foulée, un an après quelque chose comme ça, il y a eu le rachat de Sun par Oracle.Et là, d’un point de vue communauté, ça a plutôt fait peur, on va dire. Ça a plutôt fait peur. On n’était pas forcément très ravis parce que j’imagine qu’il y a plusieurs raisons derrière ça. Une des raisons, en tout cas, c’est que Oracle, c’est le propriétaire de Oracle DB, la base de donnée la plus avancée. Et du coup, en tant qu’utilisateur MySQL, en tant que fan de MySQL, on se demandait qu’est-ce qui va devenir de MySQL dans ce contexte-là. Ça, c’était une des raisons. Je ne l’ai pas précisé, mais je pense que c’est important. Aujourd’hui, je travaille pour Oracle dans l’équipe MySQL. Et d’ailleurs, comme c’est une grosse boîte américaine, il faut que je précise également que je ne suis pas porte-parole d’Oracle et tout ce que je vais dire aujourd’hui n’engage que moi et ne représente pas forcément ce que la société pense. Je suis obligé de le dire.

Oracle si tu nous vois 🙂

:))))))))

Oracle, comment il s’appelle le directeur déjà d’Oracle ?

Le grand chef, Larry Ellison

Larry Ellison, tout à fait. C’est lui qui faisait un peu peur parce que c’est un sacré businessman, c’est un visionnaire, une forte personnalité, mais c’est quelqu’un qui parlait d’argent. Et en arrivant dans le monde open source, c’est peut-être ça qui a fait un peu peur à la communauté.

Oui, ça aussi, effectivement, ça a fait peur. Et puis, à cette époque-là, pour donner un petit peu de contexte, un petit peu après, il y a un des cofondateurs de MySQL, Monty, qui a créé un fork de MySQL, MariaDB. Ça te parle ?

Alors ça, déjà, c’est avant ou après le rachat ?

C’est après le rachat.

Alors ça, effectivement, on va en parler un petit peu parce qu’à l’époque, on n’a pas très bien compris. Parce qu’Oracle arrive, donne une grosse somme d’argent à Kaj et au cofondateur, Monty. Et les deux s’en vont et ouvrent une société du nom de leur petite fille, là, Maria. Et puis, en fait, ils font un fork d’un truc qu’ils ont vendu. Est-ce que tu peux nous éclairer un peu sur ce qui s’est passé par rapport à ça ?

Alors, avec le recul, mon interprétation, ça n’engage que moi, mais mon interprétation, c’est que j’ai l’impression qu’ils se sont dit qu’on a tiré le jackpot parce que MySQL a été vendu un milliard de dollars, je crois, à Sun. Voilà, une bonne petite somme. Et mon interprétation, encore une fois, c’est qu’ils se sont dit qu’on peut refaire le coup, en fait. Et je pense que c’est ce qu’ils ont essayé de faire avec le fork MariaDB.

Ils ont essayé de le vendre deux fois…

Voilà, c’est mon interprétation. Ça n’a pas marché la deuxième fois pour un certain nombre de raisons. Pour la petite histoire, quand Monty et l’équipe ont créé MariaDB, j’étais plutôt fan, en fait, de ce concept-là parce qu’encore une fois, on avait plutôt peur pour MySQL. On ne savait pas ce qu’il allait devenir. Et puis, il y avait tout un « beau » conte, en tout cas, conte qui a été monté en gros. C’est l’image du méchant Oracle versus le gentil MariaDB. Et puis, le temps a passé, en fait. Moi, de l’extérieur, j’ai vu deux choses. J’ai vu que MySQL a continué à progresser. MySQL, aujourd’hui, est meilleur techniquement qu’avant. Alors, c’est normal, quoi. Mais on aurait pu penser le contraire. Et ça n’a pas été le cas. Oracle n’a pas essayé de tuer MySQL. Au contraire, avec notamment MySQL 8, on a le meilleur MySQL qu’on a jamais eu. Et à l’opposé, on a MariaDB, pour qui, encore une fois, j’avais beaucoup d’affinité,beaucoup d’amour pour ce produit-là, n’a pas répondu aux promesses. Je vais le dire comme ça. Et finalement, contrairement à ce que, notamment, Monty disait, qu’Oracle allait tuer MySQL, MySQL allait disparaître… Aujourd’hui, on a MySQL, qui est un super produit, en fait, aujourd’hui. Je serai moins affirmatif avec MariaDB.

Olivier Dasini

MariaDb, les differences

Alors, effectivement, là, on va rentrer dans le nerf de la guerre : Vu de MySQL, l’opinion, ton point de vue à toi depuis MySQL, quelles sont les différences entre MySQL et MariaDB, today, aujourd’hui ?

Alors, ça fait une dizaine d’années, maintenant, que les deux produits… À l’origine, MariaDB, c’était quoi ? C’était un fork de MySQL. Ça, c’est une des beautés de l’open source, du logiciel libre, c’est que n’importe qui peut forker, finalement, pour avoir les moyens techniques, etc.

Pour les gens : on prend une copie et on la fait évoluer de manière indépendante.

Exactement. A l’origine, les deux produits étaient interchangeables, étaient assez proches, et puis, ça fait plus de dix ans, les développements se sont séparés. Aujourd’hui, les deux produits ne sont pas, on va dire, compatibles, en tout cas, pas 100% compatibles. On peut toujours passer de l’un à l’autre avec plus ou moins de travail, plus ou moins de difficultés, mais aujourd’hui, les deux produits sont différents. Donc, il y a quelques petites différences techniques. Pour être honnête, je ne suis plus trop MariaDB depuis pas mal d’années, donc je ne pourrais pas faire une liste. Donc, il y a quelques petites différences techniques. Pour moi, la grosse différence, c’est que chez Oracle, on a… En fait, MySQL, c’est plein de produits. Il n’y a pas que le serveur, quoi. Mais voilà, les équipes ont… Je ne me souviens plus trop des chiffres, mais ont été multipliées par deux, par trois, par quatre. Il y a beaucoup plus de monde aujourd’hui qui travaille sur MySQL qu’à l’époque de MySQL AB ou que de Sun, en fait. Donc, les équipes ont grossi. Et puis, voilà. Si d’un côté, je ne vais pas donner de chiffres, mais je vais donner des chiffres approximatifs, mais si d’un côté, tu as 10 personnes pour le développement, et de l’autre côté, tu as 100 pour le développement, tu n’as pas la même qualité de produit, tu n’as pas… Voilà, tu n’as pas la même qualité de produit. Pour moi, la principale différence, c’est une différence de qualité. Chez MySQL, on a Facebook comme client, on a Twitter, on a Booking.com, on a… Voilà. Pas que des grands noms, mais un certain nombre de grands noms. Et ces gens-là sont super exigeants avec nous… Donc, ça nous pousse à développer un produit qui n’est pas forcément le meilleur, qui n’est pas le meilleur, je ne le pense pas d’ailleurs, mais en tout cas, qui est un produit qui fonctionne bien dans leur contexte, c’est-à-dire At Scale, avec de gros besoins de performance et qui reste également super simple à gérer. Ça, je pense que c’est une des différences principales entre MySQL et la plupart des autres bases de données, c’est que MySQL reste simple à gérer. Chez Booking, par exemple, ils ont plusieurs milliers d’instances MySQL et ils n’ont que cinq ingénieurs de bases de données pour gérer tout ça. Et ça, c’est une des choses qu’ils apprécient beaucoup chez MySQL, c’est que ça reste simple à opérer At Scale.

Il n’y a pas de tablespace comme chez Oracle, il y a peut-être moins de petites choses.

Il y a des tablespace en l’occurrence, mais oui, pour être honnête, on ne peut pas comparer en termes de fonctionnalités Oracle DB et MySQL. Oracle, c’est juste la référence, la base de données la plus avancée, c’est loin devant tout le monde. Donc, il n’y a pas toutes les fonctionnalités. Mais dans la philosophie qu’on a chez nous, chez MySQL, ce n’est pas de développer toutes les fonctionnalités, ce n’est pas ça du tout la philosophie. La philosophie, c’est d’être pragmatique, de correspondre aux besoins de nos clients. Donc, il n’y aura pas tout. Si tu cherches une base de données où il y a tout, il y a Oracle DB, PostgreSql, qui est un bon choix également. Il y a peut-être moins de choses, mais voilà, qui est un bon choix. Par contre, chez MySQL, il n’y a pas tout, mais il y a a priori ce dont tu as besoin et ça va fonctionner de façon performante et ça fonctionne bien. Donc, c’est ça, fiabilité et performance.

Quand tu parles de clients, ce sont des utilisateurs ou ce sont vraiment des clients dans un modèle commercial ?

Alors, les noms que j’ai cités, ce sont des clients dans un modèle commercial. Pour le coup, ce sont des clients. Et effectivement, il y a aussi les utilisateurs. En fait, les clients sont un sous-ensemble de nos utilisateurs. Bien sûr. Parce que le modèle, il est simple.

Oh, mais je n’ai aucun souci avec le business:) Alors, qu’est-ce qu’est l’offre commerciale de MySQL ? Qu’est-ce que les clients peuvent attendre d’Oracle MySQL ? Qu’est-ce que vous leur apportez ? Quelle est la force de l’offre ?

Super bonne question. Ça, effectivement, c’est quelque chose qui n’est pas forcément compris même en interne chez nos collègues Oracle dans le côté base de données, en fait, qui font le produit de Cloud Source Oracle. En gros, c’est gratuit. Pourquoi j’irais payer pour utiliser un produit gratuit ? C’est une remarque qu’on a assez souvent. Effectivement, la version communautaire est accessible. Alors, je n’aime pas le terme gratuit. Effectivement, tu peux l’avoir gratuitement, l’utiliser gratuitement. Mais en fait, il n’y a jamais rien qui est gratuit.

On va faire une petite parenthèse. Gratuit, cela vient de la traduction du mot anglais « free » qui n’a pas forcément la même signification en français. C’est pour ça que dans le monde francophone, il y a aussi peut-être ces problèmes de compréhension. « Free », ça veut dire que le code est accessible, qu’on regarde ce qu’il y a dedans. Ce n’est pas forcément propriétaire. Mais ça ne veut pas dire qu’il n’y a pas d’argent.

C’est ça. C’est exactement ça, la philosophie. Pour être honnête, je pense que 9 utilisateurs ou clients, enfin, 9 utilisateurs sur 10 ne sont pas intéressés par cette partie logicielle libre, mais plutôt intéressés par un produit professionnel que j’utilise gratuitement et qui s’utilise gratuitement dans un contexte professionnel, d’ailleurs. Ce n’est pas forcément pour une petite association ONG, etc. Mais bon, voilà. Donc, c’est free. Tu peux y accéder gratuitement. Et donc, ça, c’est le modèle. Ça, c’est la version communautaire de MySQL. On a une version dite entreprise, une version payante. Cette version-là, en fait, c’est quoi ? C’est la version communautaire avec plus des choses. Les choses, c’est quoi ? C’est notamment du support. On a une équipe de support 24 heures sur 24, 7 jours sur 7, multi-langues, donc le français, évidemment. Donc, pour moi, ça, c’est une des plus-values fortes, en fait. Il faut voir ça comme une assurance. Concrètement, l’assurance, tu n’en as jamais besoin sauf le jour où tu as un souci et tu es content d’avoir l’assurance avec les professionnels pour t’aider, en fait, le jour du souci. Donc ça, c’est le support fait par mes collègues de chez MySQL. Après, on a également des outils pour superviser le serveur, pour faire la sauvegarde à chaud. Donc ça, c’est de l’outillage opérationnel, qui est plus évolué que les équivalents open source, en fait, fournis de base. Et on a le dernier module, en fait, qui est également une grosse valeur ajoutée. C’est un certain nombre de plugins. Donc, on les appelle les plugins entreprises qui sont surtout orientés au niveau sécurité. Donc, on a du TDE, transparent data encryption, qui permet de chiffrer les données sans modification au niveau du code, en fait. Donc, c’est sans modification pour le code. On a du data masking qui permet d’obfusquer, de masquer les données, les données sensibles, par exemple. On a, on a quoi ? On a…

Du tuning, peut-être ? 🙂 Du tuning, parce qu’une base MySQL s’optimise aussi lorsqu’elle est en prod.

Exactement. Alors ça, le tuning, c’est plutôt par rapport au support où on va pouvoir avoir des conseils. C’est plutôt inclus, en fait, dans ce que j’appelle le support.

Le support inclut le suivi. Ce n’est pas qu’un téléphone qui de hotline.

Voilà. On a également ce module-là. Mais voilà, les outils, enfin, les plugins type entreprise, c’est des plugins qui vont aider à intégrer MySQL dans ton SI,en fait, tout simplement. Donc, avec du chiffrement, comme je vous le disais, avec un plugin d’audit, etc. Donc, c’est essentiellement des plugins liés à la sécurité. Donc, c’est particulièrement intéressant, notamment, pas que, mais notamment pour les grands comptes, nos clients, les banques par exemple. Nous avons un plugin Authentication qui permet de se brancher sur MySQL avec un Active Directory ou Linux PAM,LDAP, etc. Donc, pour faire du SSO, en fait. Je me connecte une seule fois. Donc, voilà. Ça facilite la vie opérationnelle, en fait, des utilisateurs. Et ça les aide, notamment, à s’assurer de respecter les standards style RGPD ou PC-DSS, etc. Donc, voilà. Pour résumer, c’est la version communautaire avec du service pour faciliter, en fait, l’industrialisation de MySQL dans le SI. C’est simple. Mais ce modèle-là, finalement, il est assez simple, enfin, assez courant. On retrouve ça. C’est un modèle open source assez courant. La version communautaire, on va dire le ticket d’entrée, qui n’est pas une version d’essai, qui est une version qu’on utilise tel quel. Moi, dans la plupart des boîtes où je suis passé en tant que DBA, on travaille avec la version communautaire. Donc, mes employeurs ne payaient pas de licence. Par contre, ils me payaient moi. Et moi, je faisais le support, je faisais l’intégration, etc. Donc, ça, c’est un modèle très classique. Et puis, les boîtes qui vivent du modèle open source ont souvent un modèle payant. Donc, c’est le cache MySQL où tu n’as pas forcément besoin d’avoir un DBA. Ou en tout cas, si tu as un DBA, ça va l’aider, en fait. S’il a des questions, il y a le support. S’il veut intégrer des outils pour la sécurité, il ne va pas aller chercher d’autres outils open source pour la sécurité, en fait, à MySQL, qui évolue avec MySQL, etc. Donc, ça tranquillise le DBA et ça lui permet de passer plus de temps sur la partie métier et moins de temps sur les parties opérationnelles.

Ok. Est-ce qu’il y a une suite de développement qui est incluse, comme par exemple Oracle vient avec Oracle Enterprise, Java for Enterprise, des choses comme ça, des choses pour développer des écrans d’entrée-sortie ? Ça,c’est fait ? Vous avez développé ça aussi avec MySQL ?

Non. Chez MySQL, on n’a pas ça. Non, on n’a pas d’outil comme ça. On a comme outil, on va dire, externe, on a par exemple un opérateur Cubernetis. Donc, çapermet de déployer des clusters MySQL qui modent conteneurs dans Cubernetis. Donc, en fait, on a un plugin qui va…

Des clusters MySQL : des serveurs MySQL sur plusieurs serveurs, en fait, parce qu’ils prennent beaucoup de taille et puis on mutualise plusieurs machines, plusieurs serveurs pour une seule base de données afin d’avoir du CPU dessus, de la mémoire.

Voilà, c’est ça, du CPU, de la mémoire, etc. Ou pour, effectivement, pour répondre à plus de charges ou pour du HA tout simplement, pour de la haute disponibilité. L’idée, c’est que si j’ai une seule instance MySQL, un seul serveur, il tombe, je n’ai plus de service. Quand j’ai un cluster dans plusieurs instances, donc c’est une base de données distribuée, en fait, finalement, si j’en ai un qui tombe, le service continue, en fait, pour assurer la continuité du service. Donc voila, on a réalisé des outils externes, mais pas ceux dont tu parlais.

D’accord. Quelles sont les technologies les plus utilisées avec MySQL aujourd’hui ? On sait que, historiquement, ça a été, certes, PHP, qui avait une très grande place mais aujourd’hui, qui s’interface avec MySQL ? Les gens qui travaillent avec MySQL sont sur quels langages de développement et quels technos ?

Alors, tous les langages ou en tout cas, la plupart des langages les plus connus mais parmi ce qu’on va retrouver le plus souvent, dans mes clients, il y aura du PHP évidemment, toujours, du Java, beaucoup, beaucoup de Java, notamment, chez les grands comptes style banque, etc.

Oui, ils font beaucoup de J2EE.

Oui, exactement. Je pense que les deux principaux, c’est ça, c’est PHP, du Java et puis, on va retrouver aussi dans certains contextes, C, C++ mais, oui, le top 2, c’est Java, PHP.

Oracle

MySql et l’Intelligence Artificielle

Alors, comment est-ce que MySQL Oracle envisage ce grand tournant qu’il y a actuellement avec l’intelligence artificielle dont on parle beaucoup depuis plusieurs semaines, plusieurs mois et autres ? Chez Oracle, là, vous faites quoi avec ça ? Avec l’IA, qu’est-ce qui se passe ?

Alors, c’est vrai que l’intelligence artificielle, c’est un peu le buzz-word du moment.

Ah oui, ça, c’est un bon mot, « buzz-word », c’est parfait, j’aime beaucoup. Ah oui, c’est très bien, ça, oui.:)))

À toutes les sauces:) Donc, Oracle, évidemment, prend ça au sérieux. Je ne vais pas parler d’Oracle en tant que la société, mais je vais parler au niveau de MySQL. Au niveau de MySQL, en fait, on a un nouveau produit, alors ça fait peut-être deux ans maintenant qu’il est sorti, mais un produit qui est disponible que sur le cloud qui s’appelle MySQL HeatWave. Donc, c’est une version MySQL Paas, Platform as a Service. Donc, c’est un service MySQL disponible sur le cloud, sur le cloud d’Oracle, mais également disponible sur AWS et sur Azure, aujourd’hui. Et ce service qui s’appelle MySQL HeatWave, alors MySQL HeatWave Database Service, donc ça, c’est la version PaaS. Donc, en fait, MySQL HeatWave, alors c’est un peu compliqué, mais je vais essayer de simplifier, c’est compliqué au niveau du nommage : MySQL HeatWave Database Service, c’est la version MySQL qu’on connaît, mais dans le cloud, dans le cloud d’Oracle. Il y a différentes fonctionnalités et une de ces fonctionnalités, c’est MySQL HeatWave. C’est la petite complexité, donc c’est MySQL HeatWave, c’est quoi ? C’est une sorte de MySQL survitaminé. Alors, tu vas comprendre le rapport avec l’intelligence artificielle. Donc, le MySQL HeatWave, c’est du MySQL survitaminé, en fait, la partie HeatWave, en fait, c’est un cluster en mémoire, sans rentrer dans les détails, qui va permettre d’accélérer les requêtes, en fait, tout simplement. Donc, concrètement, aujourd’hui, à MySQL, on a des clients qui ont plusieurs terras de données. Donc MySQL est optimisé pour l’OLTP, des workloads transactionnels, OK ? Aujourd’hui, un certain nombre de clients ont jusqu’à 5, 6 terras, même peut-être plus, mais en tout cas, en OLTP, voilà, on tourne bien avec ce montant-là. Mais, c’est plutôt orienté en OLTP. On peut faire, grâce à MySQL HeatWave, on peut faire de l’analytique, on peut faire de l’analytique, avec MySQL. Donc là, sur l’analytique, on est sur des workloads qui sont un petit peu différents, donc c’est plus des workloads sur des requêtes qui sont plus compliquées, on va dire, sur des gros volumes de données. Donc, l’analytique, c’est quoi ? C’est pour gérer, pour générer des rapports, pour générer des rapports, des dashboards, des choses là. Donc, on va souvent travailler avec beaucoup de données. Donc là, MySQL HeatWave va permettre d’accélérer les workloads. Du coup, là, j’ai des données jusqu’à plusieurs dizaines de terras de données pour pouvoir faire de l’analytique. Donc, je vais pouvoir brancher sur mon MySQL HeatWave du clic, c’est des logiciels qui sont spécialisés pour faire de l’analytique, pour générer des beaux tableaux. Voilà, tableaux notamment, je cherche le nom d’un logiciel très connu. Donc ça, c’est le MySQL HeatWave. Dans MySQL HeatWave, on a également un module qui s’appelle HeatWave AutoML. AutoML, c’est pour Auto Machine Learning, Machine Learning, « apprentissage automatisé ».

J’allais y venir:)

Et donc là, voilà, c’est le lien avec l’IA. L’idée, c’est que l’IA se nourrit de données. Plus j’ai de données, plus je vais, plus à priori, j’ai de la matière pour pouvoir développer de nouveaux services et c’est ce que permet notamment le Machine Learning, l’apprentissage automatisé. Avec HeatWave ML, en fait, de pouvoir simplement en fait, créer un système d’apprentissage automatisé pour ceux qui connaissent, faire de la régression ou classification aujourd’hui. Et en fait, ça, quand je dis simplement, c’est sans besoin de sortir les données, sans besoin d’avoir des connaissances en Python ou autre langage, sans besoin d’avoir de connaissances poussées en termes de data scientists. Je vais pouvoir avec MySQL HeatWave AutoML, mes données sont dans MySQL et générer en fait, faire de l’apprentissage en fait, générer mon modèle en n’utilisant que des procédures stockées en fait. Donc, c’est super simple pour un DBA comme moi qui n’est pas du tout data scientist. Je peux créer, j’ai déjà créé en fait des modèles de machine learning. Voilà, donc en fait, on a un outil, pour le dire autrement, MySQL, un des points forts de MySQL historiquement, c’était de faciliter en fait la vie des DBAs ou de l’équivalent en fait avec un produit facile pour gérer les données. Donc ça, on l’a fait en mode OLTP et aujourd’hui, grâce à MySQL HeatWave, c’est la même chose pour de l’analytique et pour du machine learning. C’est-à-dire, encore une fois, simplement, sans avoir de connaissances super poussées, je vais pouvoir valoriser mes données en fait, extraire de la valeur de mes données en créant un modèle de machine learning qui va me permettre de classer, de faire la classification, de faire la régression, etc.

C’est-à-dire qu’en fait, on va avoir quelque chose qui analyse les requêtes et les flux sur la base de données et qui va être en mesure de prévoir, de préparer à l’avance les données. C’est ça ?

Alors, c’est pas les requêtes mais mes données. En fait, en fonction de mes données, le mot clé, c’est ça, c’est faire de la prédiction. C’est exactement ça. L’idée de machine learning, c’est faire de la prédiction. Mes données, en fait, pour donner un exemple on va dire un peu plus concret, je suis dans un domaine métier. Un exemple, on va dire bateau, entre guillemets, ça peut être bancaire. Dans le domaine bancaire, j’ai mon application OLTP où les clients vont avec leur smartphone ou avec leur PC mettre de l’argent sur leur compte, retirer de l’argent. Donc, ça, c’est le workload OLTP en temps réel. Après, au niveau de la banque, je peux avoir besoin de savoir, en fait, avoir des informations sur l’utilisation de leur argent, de mes clients, l’utilisation de mes clients, que font mes clients de leur argent. Donc, avoir des statistiques ou dans le domaine de la vente, savoir quels sont les magasins qui vendent le mieux, quelles sont les périodes et tout, etc. Donc, ça, c’est la partie analytique. Dans la partie apprentissage automatique, l’idée, c’est de faire 0 de la prédiction. Donc, j’ai toujours ces données et ces données-là vont me permettre, par exemple, pour revenir à mon exemple dans le domaine bancaire, de pouvoir offrir un service qui va automatiser la demande de prêts en fonction des connaissances que j’ai sur le client, ce qu’il a en compte en banque, comment il dépense, est-ce qu’il a des crédits et tout, etc. Qu’est-ce qu’il gagne ? Je vais pouvoir, en fait, créer un modèle qui automatiquement en fonction de ces données que j’ai déjà, quand j’ai demandé un prêt de tant, lui dire oui ou non et avoir une explication : non parce que, etc., ou oui parce que, etc. Donc, l’idée, c’est ça, c’est d’aider à développer de nouveaux services en fonction des données que j’ai déjà sur mes clients. Donc, c’est vraiment au niveau des données, en fait, où je vais pouvoir faire de la prédiction.

Donc, ça, c’est disponible uniquement en ligne ?

Ça, c’est disponible uniquement en ligne. Ca s’appelle MySQL HeatWave.

Ce que tu m’as dit m’a donné envie de troller un petit peu:) C’est pas des vues compilées ? Est-ce qu’on aura un jour des vues compilées chez MySQL ?:)))

Alors, je ne peux pas répondre à la question, je ne sais pas. Mais, c’est quoi le cas d’usage ? En fait, voilà. En général, quand un client nous demande quelque chose, c’est quoi le cas d’usage ?

Une vue compilée, en fait, c’est une requête, une demande d’information extrêmement complexe qu’on a envie d’avoir, de préparer à l’avance. Donc, soit on va faire des triggers et des procédures stockées pour remplir à l’avance une grosse table avec nos choses pré-préparées pour aller taper dedans et les matcher, soit on fait ce qu’on appelle une vue. Une vue, en fait, c’est une génération préparée d’une requête. C’est quelque chose qui existe dans la concurrence, qui existe aussi chez Oracle mais qu’on n’a pas encore chez MySQL, malheureusement. Il faut qu’on le fasse à la main lorsqu’on en a besoin.

Oui, exactement. Alors, effectivement, pour résoudre ce problème-là, on peut le faire differemment. On a pas la fonctionnalité pré-compilée. Mais si l’idée, c’est de gagner du temps, typiquement, un MySQL HeatWave va te permettre de gagner du temps.

C’est pour ça que la pensée m’a traversée quand tu en as parlé 🙂

D’accord. Mais voilà, en fait, encore une fois, il n’y a pas toutes les fonctionnalités dans MySQL et a priori, il n’y aura jamais forcément toutes les fonctionnalités. Par contre, on arrive toujours à trouver un moyen de faire des choses.

Oui, la vue, par exemple, on peut la coder, voila…

MySql

Le futur du métier de DBA

Petite question, est-ce que l’intelligence artificielle va remplacer un jour les métiers de Data Architecte et de DBA ?

Super bonne question. Chez Oracle, en fait, mes collègues ont un produit qui s’appelle Autonomous Database et qui est, comme son nom l’indique, une base de données autonome jusqu’à un certain niveau. Et l’idée, c’est…

Mince. C’est en train de venir… Mince…:)

C’est déjà là:) L’idée, typiquement, dans Autonomous Database, par exemple, il va pouvoir identifier les requêtes qui s’exécutent et savoir s’il manque des index, en fait, pour pouvoir ajouter des index automatiquement. Donc ça, c’est une fonctionnalité. Il y a d’autres fonctionnalités, je ne les connais pas toutes.

Oui, ça, on peut l’automatiser. Ça, effectivement, c’est même bien, c’est utile de savoir par rapport à l’usage où mettre les index. Ça, c’est bien. C’est pratique.

Exactement. Donc, ça, en fait, Autonomous le fait tout seul. Chez MySQL HeatWave, on a quelque chose un peu équivalent. Chez MySQL HeatWave, on a quelque chose un peu équivalent. Il ne va pas mettre les index tout seul, mais il va analyser les requêtes qui passent. Un petit exemple concret, entre parenthèses, sur MySQL HeatWave, on a un optimiseur qui est basé sur l’apprentissage automatique. On retrouve encore du machine learning qui va analyser les requêtes qui passent, en fait, et grâce à ces requêtes qui passent là, pouvoir optimiser d’autres requêtes. Pas forcément les mêmes, en fait, mais des requêtes qui vont taper sur les mêmes tables. Donc, on a un certain nombre de choses. Donc, le machine learning, l’intelligence artificielle est déjà là dans l’IT, notament dans les bases de données. Pour répondre concrètement à ta question, si, en tant que DBA, ta seule valeur ajoutée, c’est de provisionner une machine, de lancer un backup, ce genre de tâches, on va dire, entre guillemets, bas niveau,

administrative,

Voilà, tu es en danger, tu es clairement en danger. Toutes ces tâches-là, en fait, une grande partie de ces tâches-là sont automatisables et vont être automatisées par la suite. Et typiquement, le cas du pass, où je vais pouvoir provisionner, soit en cliquant où je peux, comment dire, programmer le provisionnement d’une machine, etc. Donc, les tâches, en fait, basiques, non orientées métier, ces tâches-là, mais ce n’est pas valable que dans l’informatique, à mon sens, vont être remplacées tôt ou tard par la machine. Par contre, on a une plus-value, en fait, et la plus-value, notamment en tant que DBA, c’est de pouvoir, comment dire, enfin, la plus-value, une plus-value métier. Pour donner un exemple concret, et ça, je pense que c’est une des choses que je préfère dans le métier de DBA MySql, contrairement à d’autres bases de données où il y a des DBA études, des DBA production, où c’est très séparé, architecte et tout, etc. En tant que DBA Mysql, en général, tu fais un petit peu tout. Donc, tu fais les tâches basiques, voilà, mettre en place un plan de sauvegarde, etc. J’ai beaucoup travaillé aussi avec les développeurs pour les aider à développer, à optimiser leur code, à comprendre comment la base fonctionne pour qu’ils puissent générer et créer des requêtes plus optimales, etc. Et en fait, pour moi, c’est un des grands avantages, en fait, enfin, oui, c’est ça, un des grands avantages de, enfin, la partie, cette partie valeur ajoutée où tu vas pouvoir aider l’entreprise d’un point de vue métier, encore une fois, aider les développeurs à mieux requêter ou comprendre les besoins pour mettre en place une architecture qui correspond aux besoins métiers, en fait.

Analyser le SI pour définir les tables et donc l’architecture de l’information de la base de donnée, que l’on appelle les modèles physiques et autres, ça, c’est pas encore automatisé. Il faut encore un cerveau humain pour le faire.

Voilà. Exactement. C’est ce que j’entends par les tâches plutôt avancées. Donc, tout ce qui est tâches basiques, oui, la machine va le faire à notre place, mais à la limite, c’est pas plus mal. Enfin, je vais donner un autre exemple.

C’est comme ailleurs, en fait.

Oui, c’est ça.

D’accord.

C’est comme ailleurs. Typiquement, les caisses automatiques, par exemple. Bon ca fait perdre de l’emploi, on est d’accord… On en voit de plus en plus, des caisses automatiques…

Quand j’étais en Asie, tu as des magasins sans caissière…

Voilà. Et ça, ça va se développer, en fait.

Il n’est pas question de dire que c’est bien ou que c’est mal. C’est juste comme ça…

Voilà, c’est tout. C’est comme ça. C’est ça.

OK.

Mysql Oracle

Mysql continue d’évoluer

Bon, conclusion. Qu’est-ce qui arrive chez vous, chez MySQL Oracle ? Est-ce que vous avez une actualité, un futur, un avenir ? C’est quoi les grands projets qui viennent, les actualités ? Qu’est-ce que vous allez nous sortir, nous offrir bientôt ?

Déjà, la première chose à dire, c’est que MySQL n’est pas mort, loin de là, et continue à progresser, parce que ça, ça fait partie des choses que vous pouvez entendre par-ci et par-là. Non, non, Oracle n’a pas tué MySQL, bien au contraire. Donc, le produit a progressé depuis le rachat, depuis plus de 10 ans, évidemment, et continue à progresser. Donc, il y a un certain nombre de choses qui vont continuer à sortir. On a un plugin, donc, parmi les choses dont je peux parler, on a un plugin pour VS Code, Microsoft Visual Studio Code, qui va sortir. On a un plugin pour MySQL Shell. Pour ceux qui sont DBA MySQL, qui ne connaissent pas MySQL Shell, je vous laisserai aller regarder. Vous allez voir, ça va devenir votre meilleur ami. C’est un client de texte super évolué.

Ça va rejoindre ce qu’il y a sur MySQL Server ? On va pouvoir coder un petit peu directement dans MySQL ?

Alors, en fait, MySQL Shell, c’est un client de texte qui permet, entre autres, de manipuler les données, donc en MySQL, mais également, de façon native, en JavaScript et en Python. Pour tout ce qui est automatisation DevOps au sens large du terme, ça a du sens. Je vais pouvoir automatiser des tâches. Il y a de l’outillage embarqué dans l’outil MySQL Shell. J’ai des outils pour faire des sauvegardes, des restaurations. J’ai de l’outillage pour vérifier ma base de donnée avant une migration, par exemple, pour savoir si je peux migrer tel quel ou si j’ai des choses à faire. Donc voilà, c’est vraiment un outil central pour le débat. Encore une fois, si aujourd’hui, tu es DBA MySQL et que tu ne connais pas MySQL Shell, vas-y, fonce, tu verras, tu me remercieras plus tard. On a un certain nombre de nouvelles choses qui vont sortir. Je ne vais pas pouvoir en parler. Par contre, on continue à se développer dans le cloud. J’ai parlé de MySQL HeatWave tout à l’heure. C’est la base, la fonctionnalité premium sur le cloud. On a un MySQL HeatWave Lakehouse qui va sortir. Lakehouse, ça parle à tout le monde, mais l’idée, c’est qu’on a de plus en plus de données à exploiter. C’est ce qu’on a vu tout à l’heure avec l’analytique déjà et l’apprentissage automatique par la suite. Un autre niveau, c’est tout ce qui est Data Lake. L’idée, c’est qu’aujourd’hui, mes données ne sont pas forcément que dans ma base de données. J’ai mes données dans ma base de données, mais j’ai les données qui sont externes, dans des fichiers PLA, CSV, etc. L’idée du Data Lake, c’est d’avoir une sorte de repository qui va me stocker tous ces types de données structurées, non structurées, semi-structurées, que je vais pouvoir exploiter pour faire de l’analyse prédictive, donc machine learning, ou de l’analyse descriptive, analytique. En fait, pour le dire autrement, avant, j’avais un Data Warehouse, mes données étaient structurées dans mon Data Warehouse et je faisais mes requêtes d’analytique dessus. Aujourd’hui, mes données ne sont pas forcément que structurées, donc j’ai plein de types de formats différents, donc j’ai besoin de quelque chose pour stocker tout ça. L’idée du Lake House, en fait, c’est que, grâce à MySQL Heatwave, je vais pouvoir faire des jointures entre les données qui sont dans le MySQL, stockées dans l’innoDB, mais également des données qui sont sous format CSV, sous format parqué.

Je leur donne tout comme ça, je n’ai plus besoin, moi, manuellement, de refaire l’injection de tout ce que j’ai.

Exactement.

D’accord.

Les données vont être stockées dans un object storage, donc en gros sur un disque dur dans le cloud. Elles vont être stockées dans du MySQL et je vais pouvoir faire des jointures entre ces différents types de données.

S’ils sont appelés, nommés, identifiés comme il le faut.

Oui, voilà. En gros, j’ai une structure à créer et une fois que la structure va correspondre à mon fichier CSV, à mon fichier parqué, etc., et une fois que j’ai ma structure, c’est comme si c’était une table pour MySQL.

D’accord. C’est une interprétation au-dessus qui te permet d’accélérer. C’est intéressant, c’est très intéressant. Est-ce qu’il y a autre chose à dire ?

Écoutez, MySQL est là. Merci pour ceux qui utilisent MySQL et ceux qui ne connaissent pas ou qui ne l’utilisent pas encore, n’hésitez pas.

Non, mais c’est le sens de l’histoire. Merci Olivier,merci beaucoup.

Merci à toi Stéphane, au plaisir.

https://dasini.net

Interview de la tribune : Olivier Dasini - MySql / Oracle

Contactez-nous pour demander un rendez-vous téléphonique !

Recevez gratuitement le livre pour comprendre les origines des Technologies de l’Information

L'inscription offre de nombreux avantages :

• Joignez les managers et entrepreneurs éveillés
• Soyez informé des nouveautés
• Recevez des offres exclusives

Pas de spam, désinscription en 1 clic

Histoire de l’Informatique et de la Communication

Partager sur vos réseaux

Contactez-nous pour demander un rendez-vous téléphonique !

0 commentaire

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

Recevez gratuitement le livre :
Histoire de l’Informatique et de la Communication
Les Dates Clés