Bonne année 2013 !

Je vous souhaite tous mes voeux pour cette nouvelle année qui commence.
L’année dernière fut encore une belle année pour les geeks que nous sommes et j’espère que cette année sera encore meilleure pour MySQL et sa communauté.

Je n’ai pas été très actif sur ce blog en 2012, ceux qui s’essayent ou se sont essayés à ce genre d’exercice savent que c’est extrêmement chronophage.
Mais vous pouvez également consulter la version anglaise du blog pour vous consoler, le contenu y est différent, allez y faire un tour.
Je travaille également sur des projets ambitieux tels que MyXplain et d’autres à venir, restez à l’écoute…

Nous avons également travaillé avec Max sur le design des deux versions du blog qui est désormais uniforme.
Et nous en avons profité pour migrer toute cette petite histoire sur de l’InnoDB (et de nouveaux serveurs au passage)
Des améliorations visibles et invisibles pour faire de vos visites des moments plus confortables (woua, on dirait une pub pour air france)

Bref, nous sommes plus que jamais actifs et motivés pour que cette année soit encore un très bon cru en votre compagnie.

Pour info, nous serons au FOSDEM à Bruxelles la semaine prochaine, une bonne occasion de se croiser dans la vraie vie.

Et n’oubliez pas de nous suivre sur twitter pour toutes les dernières news à propos de MySQL (Vérifiées et sélectionnées par nos soins)

Merci de me suivre ici ou ailleurs,
Je vous souhaite encore plein de bonnes choses pour 2013.

Découvrez MyXplain, une nouvelle façon de se documenter…

Pour ceux qui ne lisent pas [Plus] en anglais, je fais une piqure de rappel ici concernant MyXplain.
(Au passage, je ne sais pas si c’est tout à fait clair pour tout le monde mais les versions françaises et anglaises de ce blog ne sont pas des copies conformes, il y a d’ailleurs plus de contenu sur le site anglais que sur celui-ci, allez y faire un tour…)

Je vous propose donc de découvrir MyXplain.
C’est un projet dans lequel Max et moi même nous sommes lancés il y a quelques semaines et dont nous sommes assez fier.
Nous espérons que cet outil pourra également vous aider  au quotidien.

Nous avons voulu créer un endroit unique depuis lequel vous pourrez retrouver toutes les informations nécessaires relatives à une commande MySQL.
Nous avons souhaité commencer avec la commande explain car il nous semble que c’est l’une des plus importante et des plus utilisée par les DBAs. D’autres commandes viendront par la suite comme show processlist ou show slave status.

Je vous invite donc de découvrir le site, pensez à cliquer sur les différentes colonnes de l’explain afin d’accéder aux définitions.
N’hésitez pas à partager vos liens, slides ou commentaires relatifs à cette commande.

Et si vous vous sentez d’humeur à partager ce site autour de vous, nous en serions ravi !

Pour être informé des dernières infos concernant MyXplain, suivez le projet sur twitter :


Merci

Mon sentiment sur la réplication Galera

J’ai eu une conversation par mail il y a peu avec l’ami Cyril à propos de Galera replication.
C’est vrai que ce produit suscite un réel intérêt des acteurs de la communauté MySQL et j’aimerais modestement vous apporter mon sentiment sur ce produit et ses dérivés.

J’ai simplement eu l’occasion de tester ce produit dans le cadre d’un projet (en fait c’était XtraDB Cluster mais c’est presque la même chose).
Je n’ai pas une réelle expérience de production sur ce produit mais je vous livre ici ce que j’ai retenu de la prise en main du produit et des quelques tests que j’ai pu réaliser.

Galera replication, c’est quoi ?

C’est un système de réplication synchrone multi-masters. Tous les serveurs sont actifs en lectures et en écritures. Ce sont tous des maitres en quelque sorte.
Toutes les données sont néanmoins stockées sur chacun des serveurs, il s’agit en effet d’un système de type “share nothing” (Les données ne sont pas partagées).
Il s’agit en fait d’une librairie qui vient se greffer au noyau MySQL. Cette librairie est distribuée en open source.

A quoi ça sert ?

Les cas d’utilisation les plus courants sont les suivants :

  • Répartition de charge pour les lectures
  • Réplication master-master (écritures distribuées)
  • Système de haute disponibilité (à partir de 3 serveurs)

Quelles différences avec la réplication classique ?

  • Tous les noeuds sont des maitres indépendants, les écritures peuvent être faites depuis n’importe quel noeud
  • Il n’y a pas de notion de bascule master/slave en cas de problème puisqu’il n’y a que des maitres
  • La réplication des données est synchrone (enfin presque)
  • L’intégration de nouveaux noeuds est automatisée
  • La réplication se fait en parallèle (plusieurs threads dédiés à la réplication)

Comment l’implémenter ?

Je vous recommande vivement de passer par l’un des deux produits qui proposent une solution intégrée de Galera :

L’installation et la prise en main de ces produits est à mon avis plus simple que d’essayer d’implémenter soi-même la librairie dans le moteur MySQL standard.
Sachez que c’est relativement simple à installer, pour faire simple, ce n’est pas plus compliqué que d’installer un MySQL classique.

Bon, et alors, tu en as pensé quoi ?

La première chose sur laquelle je me suis jeté quand j’ai commencé à travailler avec le produit c’est la documentation.
La partie vers laquelle je me tourne en premier lieu, quel que soit le produit, ce sont les limitations.
Je vous recommande vivement de lire cette page avant d’aller plus loin avec le produit.
Les deux limitations les plus marquantes sont le seul support de InnoDB (pas de MyISAM) et quelques limitations concernant les “grosses” transactions.

Voici donc ce que je peux en dire :

  • Le coté synchrone mis en avant est à mon avis un peu exagéré car il ne s’agit pas réellement de réplication synchrone (on parle de “virtuellement synchrone“). Ce concept est d’ailleurs à l’origine des problèmes que l’on peut rencontrer avec certaines transactions
  • C’est très très très verbeux…
  • Il s’agit d’une alternative simple à implémenter si on a besoin de faire du master-master
  • Des outils existent pour le monitoring (Plugin Nagios par exemple) ainsi que pour l’installation
  • Je pense qu’on manque encore d’un peu de recul sur la techno mais ça commence à prendre depuis que MariaDB et Percona ont sorti leurs versions packagées
  • C’est un produit qui répond à un besoin complet, ce n’est pas forcement astucieux de partir sur cette solution uniquement si vous n’avez besoin que d’une partie des fonctionnalités. Par exemple, si votre besoin est simplement de basculer plus facilement du master vers un slave, MHA fait ça très bien.

J’espère que ces quelques retours pourront vous aider et si vous avez une expérience du produit, n’hésitez pas à la partager dans les commentaires.

Merci

Percona Live London 2012, réservez vos 3 et 4 décembre…

La conférence Percona Live London 2012 se tiendra cette année les 3 et 4 décembre prochains.
Pour ceux qui ne connaissent pas encore ces conférences, elles sont organisées par la société Percona et proposent des tutoriaux techniques ainsi que des conférences autour de MySQL et des produits ou services qui gravitent dans l’écosystème MySQL.
L’ensemble des conférences et tutoriaux sont présentés par des DBA de diverses sociétés ainsi que par des employés de Percona.
Il s’agit de conférences techniques sur des sujets avancés autour de MySQL.

Sachez que cette conférence propose des évènements différents en fonction du jour :
- 3 décembre : Un peu plus d’une dizaine de tutoriaux techniques avancés seront proposés (Performances, troubleshooting…). Durée moyenne d’un tuto : 3h
- 4 décembre : De très nombreuses conférences seront proposées sur des sujets divers et variés mais toujours très techniques. Durée moyenne d’une conf : 45mins

Je ne peux que vous recommander de vous rendre à cette conférence qui vous permettra d’avoir accès à une quantité non négligeable d’informations techniques en très peu de temps mais également de rencontrer des DBA MySQL de tous horizons.
Laissez moi vous convaincre avec ces quelques mots :

  • Cette conférence a lieu à Londres, ce n’est qu’à 2h30 de Paris !
  • Pour une fois qu’une conférence de ce niveau a lieu en Europe, ce serait dommage de la rater
  • Elle ne dure que 2 jours, c’est simple de poser 2 RTT pour s’y rendre (ou de négocier la chose avec sa boite)
  • Vous allez rencontrer une grande partie de la communauté MySQL et peut-être même faire des rencontres intéressantes de personnes qui font le même métier que vous à quelques rues de la votre en France
  • Vous allez rencontrer de véritables rock stars de MySQL, ceux là même dont vous lisez les blogs techniques à longueur de journée ;-)
  • Soyez certains que les conférences et tutoriaux seront d’un très haut niveau (tout en restant accessibles)
  • Le prix est raisonnable pour ce type de prestation qui est, à mon sens, plus intéressante et pertinente qu’une formation classique (encore une fois, ça se négocie avec votre employeur)
  • Si vous avez un sujet intéressant à proposer et à présenter, faites le !
Toutes les informations sur la conférence sont ici : http://www.percona.com/live/london-2012/
Un super tarif vous est proposé d’ici le 31/08 (Attention, c’est en Livres)
Si vous souhaitez garder le contact avant, pendant et après la conférence, abonnez-vous au groupe francophone prévu à cet effet : http://www.linkedin.com/groups/Percona-Live-London-2012-For-4094253/about

Et si vous souhaitez vous y rendre, un petit truc, réservez votre hôtel le plus rapidement possible afin d’avoir des tarifs raisonnables (les hôtels sont très chers à Londres) et un hôtel pas trop loin du centre de conférence.

Le centre de conférence  se trouve lui même dans un hôtel, au centre de Londres, dans lequel vous pouvez réserver une chambre si votre budget le permet (comptez 200€).
Enfin, n’oubliez pas non plus de réserver votre billet de train au plus tôt (ouverture des ventes fin août, début septembre) afin de bénéficier également des meilleurs tarifs.

J’espère vous retrouvez là bas en décembre.
D’ici là, passez de très bonnes vacances.
PS : Pour ceux qui le peuvent, il y aura également la conférence MySQL Connect (by Oracle) en septembre à SF.