Showing entries 1 to 10 of 15
Suivant 5 Entrées plus anciennes »
Displaying posts with tag: Tranche de vie (reset)
De retour après un an..

Ça fait plus de un an que je n’ai pas mis à jour mon blog, et malgré tout, il demeure fréquenté assez régulièrement ! Enfin, c’est ce que me dit Google Analytics. Ironie du sort, j’ai de plus en plus de visite malgré l’absence de nouveau contenu.

Avez-vous remarqué le nouveau design ? Probablement pas si, comme moi, vous êtes amateur de feed RSS et vous vous contenté de l’information qui s’y retrouve. Cela dit, ce nouveau design s’insère dans une stratégie visant à m’auto-convaincre que mon blog n’est pas mort! Après quelques discussions avec amis et collègues, j’ai décidé de continuer à publier des trucs et astuces.

Mon cours à HEC Montréal me prend beaucoup plus de temps que je l’avais prévu. C’est la principale raison pour laquelle je ne publiais plus rien.. Cependant, j’ai vécu un tas d’expériences variées avec MySQL au cours de la dernière année qui me serviront de sources …

[Lire plus]
L’importance des clés primaires avec mk-table-sync

J’adore Maatkit. Je m’en sers régulièrement dans toutes sortes d’occasions. Pour tous les Slaves que je configure, j’ajoute un petit script maison qui utilise mk-table-sync afin valider l’intégrité des données sur le Slave avec le Master. Ce petit script envoie un email avec les différences et les requêtes à exécuter le cas échéant.

J’ai remarqué que mk-table-sync possède certaines limitations, c’est-à-dire que le format de la table et l’encoding joue un rôle important sur la manière dont l’outil effectue ses comparaisons. Les tables sans clé primaire ou d’identifiant unique sont particulièrement problématiques, et c’est tout à fait compréhensible. Par définition, s’il n’y a pas d’identifiant unique, il est impossible d’être 100% sur que l’enregistrement #1 sur le Master correspond à l’enregistrement #1 sur le Slave. En étant …

[Lire plus]
Resolutions Geeks de 2010

L’année 2009 a été une année chargée pour MySQL: après son achat par Sun, il passe aux mains d’Oracle. Ce dernier achat fait beaucoup jaser et plusieurs personnes s’interrogent sur l’avenir de MySQL. Je suppose que nous saurons en 2010 ce que Oracle compte faire de MySQL. Personnellement, je préfère attendre les publications officielles plutôt que de m’énerver sur les spéculations alarmistes qu’on a pu lire ces derniers mois…

De mon côté, l’année 2010 s’avère une année très mouvementée:

  • Chez iWeb, je participe à un ambitieux projet qui devrait voir le jour au courant de l’été.
  • Le soir et les fins de semaine, je passe la majorité de mon temps au HEC pour satisfaire les exigences de …
[Lire plus]
Un bout de DBA au Career Demo Camp de Montréal

Mercredi le 2 décembre, je serai parmi les speakers au Carrer Demo Camp de Montréal. Le CDCM est un événement gratuit qui se déroule simultanement et dans les même locaux que le Microsoft Techdays de Montréal. Il est animé par mon ami Jean-Luc Sanscartier et Joey DeVilla.

Au menu, une démonstration sur une manière simple et efficace de faire des backups MySQL gratuitement.

Avis aux intéressés! Il reste encore quelques places!

Sujet de conférence ?

Depuis plusieurs années, je squatte un channel IRC de programmeur. On y aborde des sujets de toutes les sortes puisqu’il n’y a pas de thématique précise à notre petite communauté; on est seulement un groupe de personnes qui ont des expertises dans plusieurs domaines variés ou des étudiants en quête de savoir. En septembre, nous avons planifié de nous réunir autour d’une bonne bouffe où quelques un d’entre nous en profiteront pour donner un speech sur des choses que nous maitrisons.

Les sujets sont libres, il n’y a pas de temps limite ni de règles quelconques à respecter. Il faut juste avoir le plaisir de partager notre savoir-faire. J’ai offert de présenter quelque chose, mais plusieurs sujets me font hésiter.

Donc, j’ai installé un petit pluggins de sondage afin de voir quels sujets parmi ceux que j’ai en tête rejoignent le maximum de personnes. Il faut savoir que dans notre petit groupe, plusieurs …

[Lire plus]
Les ORM de PHP

Je n”ai pas beaucoup eu le temps d’écrire ce dernier mois. J’ai eu un mois de février plutôt chargé. Je prends le temps aujourd’hui de vous partager la petite étude que j’ai réalisée à propos des ORM PHP.

Plusieurs développeurs utilisent des ORM (Object Relational Mapping) pour faciliter et accélérer le développement d’application. Grossièrement, un ORM est un framework de communication avec une ou des bases de données. Certains ORM vont jusqu’à offrir un contrôle total de vos bases de données sans avoir à écrire une seule requête SQL. Dans le cadre d’un nouveau projet, j’ai eu à analyser les différents ORM disponibles en PHP. Voici ce que j’ai trouvé

Zend DB Doctrine Propel
Outil de unit tests …
[Lire plus]
Ça fait quoi un DBA ?!

Parfois, et surtout durant les fêtes, on me demande ce que je fais dans la vie. Je suis DBA, ou Administrateur de Base de Données. 95% des gens à qui je réponds ne savent pas ce que je fais. Alors, j’explique qu’est-ce qu’une base de données et le type d’application propice à en utiliser, et j’opte pour les exemples:

  • Je m’assure que la BD est performance
  • Je m’assure de l’intégrité des données
  • Je m’assure qu’il n’y aura pas de downtime
  • Je m’assure des backups

Beaucoup de gens ne comprennent toujours pas ce que je fais, mais bon, tant pis je vais pas leur donner un cours.

Tout ça me fait réfléchir sur ce que font concrètement les gens qui ont un emploi comme moi. Les 4 points que je donne en exemple ne sont souvent pas suffisants pour occuper un employé à temps plein, à 40h par semaine.

Pour ma part, mon background de …

[Lire plus]
Performance avec les procédures stockées

Les procédures stockées ont fait leur apparition avec MySQL 5.0. Une procédure stockée est un ensemble de plusieurs requêtes basées sur le standard sql:2003, regroupées ensemble et stockées dans la base de données. On leur attribut plusieurs avantages, notamment:

  • Elles réduisent le trafic réseau: on peut exécuter plusieurs requêtes avec un seul échange entre le client et le serveur.
  • Elles offrent un contrôle de sécurité: un user peut exécuter une procédure qui fait des requêtes sur une ou des tables auxquelles il n’a pas accès. Ces requêtes peuvent être en lecture ou en écriture.
  • Elles assurent le respect de logiques particulières ou d’intégrité.

J’avais un cas où une application devait faire très régulièrement (jusqu’à plusieurs fois par secondes) les 4 mêmes requêtes: SELECT.. UPDATE.. SELECT.. UPDATE. En déplaçant ces 4 requêtes dans une …

[Lire plus]
MySQL Performance Tuning à Montréal

Je vous parlais récemment du cours MySQL Performance Tuning, et contrairement à ce que je disais, j’ai pu y  assister. J’aurais aimé que le cours parle de la configuration du serveur sur lequel se trouve MySQL, car un OS bien optimisé va évidemment offrir beaucoup de performance à MySQL. Mais étant donné que plus d’une 20aine de plateformes sont supportés, nous pourrions en discuter pendant plusieurs semaines. En fait, le cours focus principalement sur la configuration et l’utilisation qu’on en fait.

Il n’y a pas d’option magique à activer pour que MySQL performe bien. Il n’y a pas non plus d’outil statistique comme ceux d’Oracle qui permet automagiquement de comprendre la charge de travail et s’ajuster en conséquence (Notez cependant que c’est un feature prévu avec Falcon). Le Tuning avec MySQL est une question de feeling. Lorsqu’on connaît comment le serveur est fait, qu’on connaît tous les …

[Lire plus]
Raid, Cache et BBU

Je vous parlais récemment de Sysbench, aujourd’hui je vais vous montrer comment il m’a aidé à résoudre un problème. Tout d’abord, je dois vous expliquer le problème initial. Je reçois un nouveau serveur qui sera le Master de notre environnement de pré-production, une bête dans son genre: Dual Quad Xeon 2Ghz, 32Go de RAM, 4 disques scsi montés en RAID5. Après avoir installé un backup, je lance un script qui fait des modifications massives sur les données dans le but de mesurer à quel point le nouveau serveur est performant.

Surprise ! Le script était excessivement plus lent que d’habitude. J’ai fouillé un peu et j’ai constaté que le IOwait était étrangement élevé. Après quelques recherches infructueuses sur google pour des problèmes de MySQL avec un IOwait élevé, je me suis connecté sur IRC, …

[Lire plus]
Showing entries 1 to 10 of 15
Suivant 5 Entrées plus anciennes »