reponse a un gros paquets de mensgones
Bon bon bon, par où commencer ?
Premièrement je vais me présenter :
Je suis architecte freelance depuis 4 ans après avoir passé 3 ans au chevet des bases de donnés du groupe Karavel (surtout connu pour sa marque promovacances). Auparavant j'ai roule ma bosse dans le monde oracle principalement pendant 11ans en tant que prestataire de services pour la plupart des grands comptes (PSA, Orange, Air France, BNP Paribas et bien d'autres)
Pour celles et ceux qui veulent ma bio complète elle se trouve en ligne ici même : https://www.linkedin.com/in/sylvain-arbaudie/
J'ai découvert Mysql et MariaDB au sein du groupe Karavel. Après pas loin de 10 ans sur Oracle sa simplicité et ses performances m'ont pas mal séduit. Au point que malgré certaines imperfections, j'ai décidé de me spécialiser sur le sujet.
Deuxièmement je vais annoncer pourquoi j'interviens
Vous l'aurez d'ores et déjà compris je ne viens pas faire le fanboy de SQLpro, je ne serais pas pour autant le toutou de mariadb, je me serais fait embauche si c'était le cas ( poke). J'interviens rarement sur les forums car je n'aime pas la polémique. Toutefois j'ai toujours préféré les faits à la propagande alors on va s'efforcer de remettre tout ça d'aplomb.
Troisièmement parlons désormais des sujets qui fâchent
Un peu de culture ne fait jamais de mal quand on veux parler d'un sujet n'est-ce pas ?
"Mysql aka mon petit business" . My(sql) est le premier enfant de Michael "Monty" Widenius qui est finlandais suédophone au demeurant (Mysql Ab etait bien une entreprise suedoise). Maria(db) est le deuxième. Max(scale) le troisième. L'homme a donc une certaine suite dans les idées si vous voyez ce que je veux dire. cette information figure sur alpage wikipedia dediee a monty, donc accessible gratuitement a tout le monde moyennant une simple recherche google.
Ensuite je vois un amalgame mariadb/mysql. La encore une simple recherche google + wikipedia amene toutes les informations utilesa bien comprendrela difference entre les deux sgbd qui divergent quotidiennement.
Parlons maintenant transaction, acid & and Co.
Je constate que toute la démonstration est basée sur Myisam. Myisam est en effet un moteur de stockage non transactionnel et non ACID. Ces caractéristiques sont connues il n'y a donc la rien de surprenant. Par contre je m'interroge sur ce choix sachant que InnoDB (ou son fork XtraDB) sont les moteurs de stockage par défaut depuis mysql/mariadb 5.5. Innodb est transactionnel et ACID.
Comme indiqué precedemment myisam n'est plus le moteur par defaut depuis mariadb5.5. Or il se trouve que notre auteur utilise le moteur de stockage myisam.il a donc fallu forcer son utilisation pour effectuer la demonstration.
De plus myisam a toujours ete presente comme un moteur non transactionnel non acid. il suffit de faire un simple passage sur la documentation en ligne de mariabd pour l'apprendre. Partant de la quel interet de demonter un moteur de stockage qui reste present a fins de retrocompatibilite, connait quelques usages anecdotques et presenter le tout comme etant le seul moteur de stockage de mariadb ? l'ignorance est exclue car l'auteur utilisant mariadb 10.3, il a fallu forcer l'utilisation d'un moteur de stockage non default afin de realiser cette "demonstration".
Sans être exempt de soucis (les DDL non transactionnels qui forcent un commit implicite par exemple) c'est pour l'instant un bien mauvais procès qui est fait à un SGBDR qui n'en demande pas tant.
Je trouve neanmoins dommage de rédiger un article à charge sur des problèmes factices (collation par défaut, utilisation des modes de fonctionnement, environnement peu voir pas sécurisé, volonté manifeste de ne se soucier du parametrage interne de la base attente sur des identifiant auto générés non vérifiées contre la documentation etc) et de passer à côté des vrais problèmes.
J'ai vu passer une remarque sur les backups non consistants non bloquants. Evidemment il n'ya pas moyen de realiser de miracle concernant myisam pour les raisons qui ont deja ete evoquees. ce sont d'ailleurs les arguments repetes a l'envie par l'auteur. Toutefois xtrabckup et son fork mariabackup realisent bel et bien des backup a chaud, consistants et non bloquants pour les tables utilisant innodb, moteur de stockage, rappelons-le, transactionnel et acid.
Sur une note plus générale à l'open source, je ne trouve pas choquant qu'il y ait autant de CVE. Au moins la liste des bugs et des problèmes de sécurité est connue de tous et toutes. Peux ton en dire autant des systèmes propriétaires ? Non. Il est réalité impossible de savoir à quel point la liste des CVE d'un logiciel propriétaire est bidonnée ou au contraire réaliste. Associons cela au passif de ces entreprises en matière de gestion des bugs, cela ne donne guère envie de les croire soudainement vertueuses.
Passons pour finir sur les histoires de mysql c'est que pour les petits projets.
C'est donc pour ça que booking.com utilise généreusement mysql ?
J'imagine que le groupe Karavel est uniquement composé de gens qui ne savent pas ce qu'ils font ?
J'imagine que cette grande banque française qui utilise mariadb pour son portail corporate non plus ?
Sinon évoquons cette mutuelle nationale qui travaille avec une base mariadb de plus de 1.5To.
Ou encore ce client du mode textile qui assure tout son suivi opérationnel et son reporting depuis ses bases mariadb.
Ou bien DBS bank qui a migré en trois ans l'intégralite de son IT d'oracle a mariadb.
Ou bien Servicenow qui délivre des performances sur des charges phénoménales grâce à mariadb.
On pourrait aussi citer des aéroports, des organismes de paiement, des opérateurs télecoms et bien d'autres encore tout autour du monde qui utilisent mariadb et d'autres encore mysql pour des volumétries variant de quelques centaines de Mo à plusieurs centaines de To. Je ne veux pas dire de betises mais il me semble que la plus grosse base mariadb frôle le Po (et en toute honnêteté vu la chaleur j'ai la flemme de chercher.)
Finissons par le meilleur : Microsoft qui propose dans son propre cloud azure le déploiement de bases mariadb sous forme notamment de cluster galera derrière un proxy maxscale. Notons au passage que Microsoft a fort aimablement accueilli le roadshow MariaDB en ses locaux à Issy les Moulineaux.
Bref tout ceci n'est pas tres serieux et j'en suis bien desole.
"Lorsque nous critiquons, il faut le faire avec une humilité et une courtoisie qui ne laisse subsisteraucune amertume."
Gandhi