News MYSQL

Jay Pipes publie une conférence sur les outils nécessaires pour contribuer au code de MySQL. MySQL est maintenant développé à l'aide de Bazaar, un dépôt de code source distribué, qui inclut des outils de collaboration entre les développeurs (cvs, forum, bug tracker), ainsi qu'un moteur de traductions.

Bazaar est très complet, et publié en ligne : vous pouvez le télécharger et l'utiliser pour vos propres développements et développeurs. Il inclut notamment Meld, un outil de comparaison de code sources graphique.

Et pour ceux que ça intéresse, vous pouvez contribuer à la traduction des messages de Drizzle, via Launchpad, pour découvrir cet univers.

- A Contributor's Guide to Launchpad and Bazaar
- Launchpad
- bazaar
- Meld
- Traductions drizzle
mysqlnd, la bibliothèque qui va remplacer libmysql dans les versions de PHP récentes, inclut une nouvelle approche pour accélérer les transferts : en faire le moins possible.

A la base, MySQL communique avec PHP via un protocole texte, où un entier est convertit en texte pour être envoyé à PHP. Ce dernier, va comprendre qu'il reçoit un entier et fera la même conversion en sens inverse. Au final, tout le monde à fait le même boulot deux fois, pour retrouver la valeur initiale.

Un nouveau protocole binaire est maintenant ajouté entre PHP et mysql, pour transférer sans altérations les données, et en réduisant ainsi les conversions, et la mémoire utilisée. Une raison de plus pour passer à mysqlnd.

- PHP: New network traffic, CPU and memory savings with mysqlnd
Note de l'auteur :

Demain soir, aura lieu le lancement officiel de l'association MySQL française. Cela se fera autour de Pascal Borghino, Olivier Dasini et moi-même, mais nous aurons besoin de vous tous, utilisateurs réguliers de MySQL pour cet évènement.

LeMUG (Le MySQL User Group) aura pour but de stimuler la communauté, accroître les échanges d'expérience pour tirer le meilleur parti de la technologie, et faire émerger les tendances lourdes pour les prochaines années. Un programme ambitieux, et à la taille de la communauté française.

Il reste un peu de place, et beaucoup de bière et pizza, alors venez nombreux !

- Soirée MySQL Community
- LeMUG.fr
La BI (business intelligence, informations d'affaires en français) est le secteur le plus en forme du moment en informatique. Pour fonctionner, il a besoin d'une infrastructure technique pour laquelle MySQL et infobright vous propose des solutions performantes et Open Source.

Infobright Community Edition est téléchargeable sur le site communautaire de Infobright. Il faut le recompiler avec MySQL, et lui affecter entre 4 et 32 Go de RAM.

- Data Warehousing with MySQL and Infobright
- infobright Open Source Home
Patrick Lafontaine explique que la transformation de quatre requêtes en procédure stockée lui a donné 46% d'accélération. En évitant les transferts réseau et la recompilation permanente des requêtes, elles réduisent le coût d'exécution.
La conversion de processus fonctionnels en requêtes SQL reste le plus délicat de l'opération.

- Performance avec les procédures stockées
Guiseppe Maxia fait le point sur les capacités de réparations de MySQL 5.1 : avec les partitions, plusieurs développeurs ont eu peur de perdre toute la table si l'une des partitions était vérolée. Pour le moment, un bug (le 20129) a été découvert, et corrigé.

Pour les stratégies de réparation, il y en a 2 : via ALTER TABLE qui vérifie et répare les partitions une à une. C'est pratique pour intervenir atomiquement sur une partition, et pas sur les autres. Quand vient le temps de faire des réparations en masse, il y a REPAIR TABLE qui ne fait pas dans la dentelle.

Au passage, Guiseppe montre comment corrompre une partition, par simple copie. :)

- Checking and repairing partitions in MySQL 5.1
- bug #20129
le 15/09/2008 à 23:31
Les moteurs de stockage MySQL
MySQL, contrairement aux autres SGBD, a la possibilité d'utiliser plusieurs moteurs de stockage dans une seule et même base de données. Cette faculté constitue un des points forts de MySQL.
Cet article a pour but de vous montrer ce qui se cache derrière ces différents moteurs et comment les exploiter au mieux.

- Les différents moteurs de stockage de MySQL
MySQL dispose de la commande SHOW GRANTS pour afficher les droits d'un utilisateur, pour peu que l'on connaisse son nom et son hôte. C'est pratique de manière atomique, mais comment s'y prendre pour traiter un site avec 50 utilisateurs et plus? Il est impensable de rechercher tous les droits de tous les utilisateurs.

Les tables mysql.* vous donneront la solution, mais la hiérarchie des droits de MySQL nous rattrape : pour détecter un droit de lecture dans une table, il faut vérifier que l'utilisateur a les droits dans la base ... et au niveau global.

Sheeri a trouvé la solution en une seule requête, via UNION. Plus une autre requête pour produire directement les requêtes de SHOW GRANTS, pour aller encore plus loin.

- Creative SQL: How to Easily SHOW GRANTS for Many Users
- maatkit
le 13/09/2008 à 23:26
Patchs Google pour MySQL
Google avait attiré l'attention du monde MySQL en publiant un patch au code source pour une réplication synchrone : les transactions sont validées dans le maître quand elles ont été validées au moins sur un esclave. Voilà résolvait le problème de retard de réplication de nombreuses architectures.

Depuis, je n'ai pas relevé de nouvelles, mais le projet n'est pas mort, loin de là ! Il y a une longue liste de patch pour MySQL 4 et 5. Il y a des statistiques d'utilisation des ressources beaucoup plus fines que celles fournies de base, et notamment cette perle de MySQLPerformancesBlogue pour identifier les index inutilisés!

InnoDB est aussi le centre de beaucoup d'attention, ainsi que les mutex (pour les accès concurrents), et les informations de surveillances. Il y a même un serveur HTTP intégré à MySQL..

Notons que ce patch requiert une version recompilée de MySQL, ce qui va en freiner l'utilité. Ni Proven Scaling, ni Percona ne distribue de version patchée actuellement. Un candidat ?

- Unused indexes by single query
- google-mysql-tools
LoadingChargement en cours