Les certifications MySQL 5 : retour d’expérience

13 juin 2008 par arnaud

Une certification MySQL, et pourquoi pas ? Peut-être y pensez-vous…

Présentation

Si vous vous demandez à quoi elles peuvent bien servir, MySQL a dressé une liste pour vous :

Une certification est censée…
- Valider votre savoir-faire
- Diminuer les risques liés à la manipulation de MySQL
- Permettre d’offrir à son entreprise une plus grande qualité de service
- Augmenter la productivité
- Réduire les coûts de maintenance
- Offrir à son détenteur une augmentation de salaire ;)

Au-delà de cette version légèrement idéaliste/marketing et en évitant par ailleurs l’aspect souvent « polémique » concernant les certifications (les « pour », les « contre »), ne cédons pas à la tentation du troll et voyons ce que MySQL nous propose.

Il existe aujourd’hui 4 certifications : « Associate » (CMA), « Developer » (CMDEV), « DBA » (CMDBA) et « Cluster » (CMCDBA).
Chacune d’elles vise un public souvent différent et nécessite l’obtention de un ou deux examens composés de 70 questions (sauf la « Associate » qui en compte 50).
Chaque examen est un QCM de 90 minutes (excepté la « Associate » : 60 min) dont les questions appellent de 1 à 5 réponses en général. Le « passing score » se situe autour de 43-45 / 70 environ.

Pour réserver un examen, MySQL renvoie vers les centres de passage Pearson Vue, leur site internet vous permet de repérer les centres de passage près de chez vous. Attention, tous ne sont pas listés sur le site, il se peut qu’un centre proche de vous propose en fait la certification mais ne soit pas visible… Si vous ne trouvez pas votre bonheur, à vous de contacter les centres de formation locaux, ce sont souvent ces types d’organisme qui font passer les certifications.

Une fois certifié (champagne !), et si vous le souhaitez, votre nom peut apparaître dans la liste des certifiés par pays, procédé similaire aux « pages jaunes » de Zend que certains d’entre vous connaissent peut-être.

Contrairement aux certifications Php (en tout cas à ce jour), avec MySQL vous repartez du centre d’examen avec le score détaillé de votre examen. Vos pourcentages de réussite sont affichés par chapitre. Ce type de statistiques permet de repérer ses faiblesses et évite de se demander pourquoi on a réussi ou pas l’examen… Quelque soit votre résultat vous visualiserez où sont vos forces et éventuelles faiblesses, c’est très appréciable.

Le tableau étant dressé, voyons dans le détail à quoi ressemblent ces certifications.

Dans le détail

- La certification « Associate »
Première étape vers une « reconnaissance » liée à MySQL, la certification « Associate » a pour mission de tester les candidats sur MySQL dans ses grandes lignes.
Les candidats devront prouver qu’ils connaissent les commandes de base SQL qui permettent de décrire une table, la supprimer, la vider…
Ils seront également interrogés sur les types de caractères disponibles, les jointures : consultez la liste détaillée sur le site de MySQL.
Retenez que la certification « Associate » est un sous-ensemble de la certification « Developer ».
La certification « Associate » requiert un seul examen, se déroule sur 60 minutes, comporte 50 questions et le score minimal à obtenir est d’environ 37 points.
Je n’ai personnellement pas passé celle-ci mais si c’est votre cas n’hésitez pas à nous en faire part dans les commentaires pour partager votre expérience.

- La certification « Developer »
Destinée aux développeurs ayant un minimum d’expérience avec MySQL, cette certification comporte deux examens de 70 questions. Vous aurez 90 minutes maximum pour venir à bout d’un examen. Obtenez au moins 43 bonnes réponses si vous voulez éviter les problèmes…
Voici une sélection de quelques thèmes parmi les plus représentés lors de l’examen :

Examen I

Le « client » mysql (à ne pas confondre avec le serveur « mysqld »), les types de données (un thème pas forcément sexy au premier abord mais nécessaire : gain de place, rapidité…), les tables et les index, les requêtes SQL : expressions SQL, requêtes de mises à jour, GROUP BY, UNION, etc.

Examen II

Les jointures, les sous-requêtes, les vues, les procédures stockées, les metadatas (INFORMATION_SCHEMA) et un soupçon d’optimisation.

Comme son nom l’indique, cette certification est particulièrement destiné aux développeurs qui manipulent MySQL régulièrement. Vous ne réussirez pas l’examen sans le préparer si vous faites « simplement » une petite requête de temps en temps au sein de vos scripts php par exemple. Je la conseille à tous ceux qui apprécient les diverses fonctionnalités de MySQL et qui ont envie d’aller plus loin. Préparer ces deux examens renforcera vos connaissances et vous apprendra forcément quelque chose, vous en sortirez plus polyvalents, pas forcément expert en procédure stockées mais au moins vous aurez appris à en manipuler quelques-unes et si besoin, le jour J, vous serez capables de les mettre en place rapidement.

Pour ceux qui comme moi viennent du monde du développement web, la partie I sera la plus simple, la partie II nécessite davantage de travail. On peut en effet être développeur internet depuis plusieurs années sans avoir codé la moindre procédure stockée… La gestion du temps sera également plus importante pour cette seconde partie, les questions étant plus longues et nécessitant davantage de réflexions que lors de la partie I. Je ne peux pas trop vous en dire vu que chaque candidat s’engage à ne pas communiquer sur le contenu des questions, mais vous avez l’idée générale.
Mes conseils pour se préparer aux certifications se trouvent en fin de ce billet.

- La certification « DBA »

Bienvenue aux administrateurs, et pour les autres : au boulot !
A l’instar de la certification « Developer », la « DBA » est du même type : deux examens de 90 min chacun, 70 questions, et un passing score d’environ 45/70.

Parmi les thèmes les plus représentés, on retrouve :
Examen I
Architecture de MySQL, configuration, démarrage et arrêt du serveur, la notion de verrouillage, les moteurs de stockage (une des parties les plus importantes, spécificités de MyISAM, InnoDB, Memory…), la maintenance des tables, les sauvegardes / restaurations.

Examen II
Gestion des utilisateurs (création, droits, etc), sécurité, optimisation de requêtes, optimisation de vos bases (selon vos moteurs de stockage), optimisation du serveur, montée en charge (étude de la réplication notamment…)

Comme vous le voyez les problématiques basculent pour la plupart dans un autre monde : celui de l’administrateur de bases de données. Cela dit, et ce fut une de mes motivations, il est également très intéressant lorsqu’on développe de connaître justement les différences entre les moteurs de stockage, comment jouer avec leurs forces et éviter leurs faiblesses dans un contexte donné par exemple.
On peut également considérer que l’optimisation des requêtes relève là encore du monde du développement mais c’est bien sûr un sujet qu’un DBA se doit de maîtriser.

Mon point de vue sur cette certification « DBA » : elle nécessite davantage de travail lorsqu’on vient du monde du développement, l’examen I notamment nécessite de se familiariser avec les (nombreux) outils existant sous MySQL pour effectuer des tâches de maintenance par exemple. Ces outils possèdent un bon nombre d’options, parfois spécifiques à un moteur de stockage et pour corser le tout plusieurs outils sont capables d’effectuer les mêmes traitements…

L’examen II est à mon sens beaucoup plus ludique, vous y trouverez moins d’outils à retenir mais quelques variables serveur notamment (tuning) sont à mémoriser. Ce second examen est vraiment tourné vers l’optimisation, je ne saurais trop vous conseiller de vous entraîner à manipuler un serveur MySQL en testant différentes configurations et d’observer par vous-même ce qui se trouve par exemple dans la documentation.

La certification Cluster

Au programme de celle-ci, un seul examen, 70 questions, 90 minutes et un passing score de 43/70 environ.
Complètement tournée vers le MySQL Cluster, cet examen ne sera validé que si vous êtes déjà certifié DBA. C’est logique après tout : difficile de se plonger au coeur du MySQL Cluster si l’on n’a pas une bonne connaissance du serveur MySQL « classique ».
MySQL conseille comme d’habitude d’avoir accumulé au moins un peu d’expérience en manipulant le cluster avant de se présenter à l’examen, (cf le paragraphe « Ma méthode »).

Parmi les principaux thèmes :
Architecture et organisation du cluster (vraiment spécifique par rapport à un serveur MySQL standard), le moteur de stockage NDB, les fichiers de configuration du cluster (config.ini, my.cnf, les options disponibles…), démarrage / arrêt / gestion du cluster, les sauvegardes / restauration, tuning, résolutions de problèmes.

Au vu des spécificités d’une installation cluster par rapport à une installation MySQL classique, il n’est pas possible de se reposer uniquement sur les connaissances MySQL évoquées lors des certifications précédentes pour s’en sortir lors de cet examen. Lire la documentation tout en testant systématiquement soi-même tout ce que vous lisez participera bien sûr à votre futur succès.

Comment se former ?

Il y’a différentes façons de faire, tout dépend de votre volonté, du temps dont vous disposez mais également de vos finances…

Les livres :

- Le « MySQL Certification Study Guide » couvre les certifications Associate, Developer et DBA, c’est celui que j’ai utilisé. Il comporte en fait deux grandes parties : « Developer » et « DBA », rappelons que la « Associate » est un sous-ensemble de la « Developer ».
Moins aride que la documentation, tout est organisé pour vous faciliter la vie pour la certification, c’est un excellent ouvrage qui vous renseignera au-delà des examens, c’est une très bonne source d’informations concernant MySQL 5.
Un de ces grands avantages : les exercices disponibles. Chaque chapitre dispose de son lot d’exercices (avec corrigés). Vraiment bien étudiés pour la certification, ces derniers sont un peu plus difficiles que lors de l’examen (ce qui est une bonne chose). A noter que le livre contient un CD contenant les pdf des différents chapitres et exercices.
Pour 40 euros environ c’est un ouvrage que vous devez vous procurer si vous envisagez une de ces trois certifications. Il contient de plus un bon de réduction de 20% sur le prix de votre premier examen (à vérifier, il existe une date de validité, renseignez-vous).
Seul point qui peut s’avérer négatif pour certains : le livre est en anglais… Cela dit, à aujourd’hui les certifications MySQL sont disponibles en deux langues : anglais et japonais, le choix est vite fait :)

- Pour les amateurs de cluster le « MySQL 5.1 Cluster Certification Study Guide » est là encore une aide très précieuse, c’est celui-ci que j’ai utilisé.
En anglais lui aussi, il se lit plus facilement que la documentation, comporte des exercices mais cette fois ni CD ni pdf, dommage mais pas dramatique. C’est un ouvrage que j’ai parcouru plusieurs fois avant l’examen et qui encore aujourd’hui me sert très souvent, son utilité dépasse le cadre de la certification : vous pouvez l’acheter tout simplement en tant que source d’informations sur le MySQL Cluster.

- Les formations :

Délivrées par différents organismes de formation (MySQL dispose également de cursus dédiés), ces formations se déroulent souvent sur plusieurs jours (2 à 5). Comptez jusqu’à 2000 euros environ pour une semaine de formation… Vu le tarif pratiqué ce sont des formations accessibles via son entreprise notamment, et pourquoi pas dans le cadre d’un DIF (Droit Individuel à la Formation), renseignez-vous auprès de votre entreprise.
Attention tout de même, si vous partez d’un niveau disons « standard » en MySQL le lundi matin 8h, et même après 5 jours de formation intensives, il n’est pas garanti que vous réussissiez le vendredi à 17h les deux examens requis pour une « Developer » ou une « DBA », il faut en effet du temps et de la pratique pour assimiler toutes les connaissances requises… Vous aurez évidemment gagné du temps dans cet apprentissage, sans aucun doute, mais le contenu est dense. Il est préférable de prendre son temps pour intégrer des connaissances plutôt que de se bourrer le crâne la veille de l’examen et en avoir oublié la moitié 48h après le jour J quelque soit le résultat.

N’ayant pas testé moi-même ces formations je ne peux vous en conseiller une en particulier, en revanche je vous encourage à partager vos impressions dans les commentaires si vous avez testé cette formule.

Ma méthode / Quelques chiffres

- Armé uniquement des livres cités ci-dessus (MySQL certification guide et Cluster certification guide), j’ai procédé par ordre. Je me suis tout naturellement intéressé d’abord à la « Developer » avant d’attaquer la « DBA » qui m’intéressait aussi (raisons citées plus haut) et enfin tout cela m’a donné envie de découvrir le cluster, que j’ai appris à connaître tout en préparant la certification.
- En ce qui concerne les examens « Dev » et « DBA » j’ai décidé de faire des fiches… Chaque partie fait en effet 300 pages, du coup j’ai pensé que résumer tout cela sur des fiches me permettrait de parcourir l’essentiel plus rapidement qu’avec un bloc 600 pages. C’est sans doute vrai mais la rédaction prend du temps, je dirais 50% du temps d’apprentissage d’un examen pour ma part.
- J’ai passé deux mois sur chaque examen de la « Dev ». Difficile de se faire une idée de ce que représentent vraiment deux mois, nous avons tous des plannings différents, des week-ends différents, mais cela donne un ordre d’idées, je n’avais pas de planning à tenir pour la « Dev » et la « DBA », j’ai donc fait ça pendant mon temps libre, sans me fixer une date.
- L’entraînement aidant, j’ai réduit la durée de préparation à un mois pour DBA I et 6 semaines pour DBA II.
- Concernant la « Dev » et la « DBA », j’ai d’abord étudié l’examen I, passé l’examen I, puis étudié l’examen II et passé l’examen II.
- Je n’ai pas fait de fiche pour la cluster, j’y ai consacré environ 2 mois.
- J’ai payé ma certification cluster 20$ au lieu de 200 euros lors de la conférence MySQL 2008 :) Les rabais sont importants lors de ce type d’évènements. Les certifications se déroulent alors sur papier, le score final n’est pas fourni, seul le résultat vous sera communiqué.
- Si vous avez choisi les livres cités plus haut : effectuez tous les exercices proposés, au moins une fois ou deux, ils vous préparent efficacement aux questions des examens.
- Testez, testez, testez ! Installez-vous un serveur MySQL, un cluster MySQL si besoin et testez par vous-même tout ce que l’on vous présente dans la documentation, vous ne devez pas tout connaître par coeur mais le minimum est de tout comprendre. Si vous êtes sous Windows passez pourquoi pas par Vmware pour vous installer des machines virtuelles hébergeant vos serveurs. Une fois la solution de Vmware installée, vous pouvez charger une Debian Etch par exemple et commencer vos installations / tests. Il est tout à fait possible à partir d’un seul pc de simuler plusieurs machines…

Impressions finales

- J’ai trouvé les examens Dev I et DBA II les plus simples, mon meilleur score fut d’ailleurs obtenu sur DBA II, le moins bon sur DBA I.
- Pour moi DBA I fut peut-être le moins drôle, pas mal d’outils/d’options à retenir, pour ceux qui ne sont pas déjà DBA MySQL il y’a du travail ici.
- Attention à la gestion du temps sur Dev II (cf le conseil de Giuseppe Maxia sur le jeu d’échecs dans les liens ci-dessous).
- J’ai adoré la partie DBA II (optimisations), c’est ludique, concret et sympa à apprendre, vous pouvez très rapidement appliquer ce que vous apprenez dans votre job.

Pour résumer mes impressions concernant ces certifications, elles m’ont beaucoup appris, elles vous « forcent » à parcourir de façon précise des domaines auxquels vous n’auriez peut-être pas été confronté de sitôt. Lorsque vous visez une certification, vous avez un objectif, on parcourt donc les documentations d’un autre oeil dans ces cas là…
Fort de ces nouvelles connaissances, vous aurez davantage de solutions à proposer face aux problèmes que vous rencontrerez.
Les certifications ne feront pas de vous des dieux vivants en MySQL mais des professionnels avertis, au fait des outils existant et capables de monter plus rapidement en compétence sur des sujets dont vous n’étiez pas forcément spécialistes.
Enfin, et c’est sans doute le plus important à mes yeux : les certifications aiguisent votre curiosité ! Lorsque j’ai démarré la certification « Developer », je ne pensais pas forcément passer la DBA, et encore moins la Cluster lors d’une conférence MySQL à Santa Clara :)

J’espère que ce retour d’expérience vous sera utile, si vous aussi vous avez passé une de ces certifications, laissez vos impressions dans les commentaires et faites en profiter la communauté !

Bien sûr, n’hésitez pas à poser ici vos questions concernant les certifications, j’y répondrai avec plaisir.

Quelques liens pour aller plus loin :

- Testez-vous ! MySQL vous propose 10 questions pour chacune des certifications dont nous venons de parler, les questions m’ont l’air un peu plus simples que celles des examens mais elles valent le coup néanmoins.
- Lisez aussi les conseils de Giuseppe Maxia pour la certification, ainsi que ceux de Mark Schoonover qui valent le détour également. Enfin le blog de Dave Stokes, il travaille chez MySQL dans l’équipe de certification.

Mots-clefs : ,

3 commentaires sur “Les certifications MySQL 5 : retour d’expérience”

  1. Merci pour ton retour d’expérience, très précieux.

    J’envisage à ta manière un grand chelem, pour l’année 2009 ;)

  2. mb dit :

    Très intéressant. Merci pour ce retour d’expérience. Est-ce que depuis le rachat par Oracle, la certification est toujours la même ? Est-ce que le livre, dont la dernière édition date de 2006, est toujours d’actualité ?

    Merci !

  3. J’ai un peu laissé glisser ma road map, mais j’ai déjà validé la première partie (Developer).

    Je fais donc un premier retour d’expérience là-dessus, pour les intéressés :

    http://www.denistruffaut.com/les-certifications-mysql.html

Laisser une réponse