MySQL 5.0 : Un SGBDR mature ? — (part 3/4)

Procédures stockées et fonctions

Les procédures stockées sont des listes de commandes qui peuvent être compilées et stockées sur le serveur. Elles permettent de déplacer une partie de la logique métier d’une application de base de données du client vers le serveur. Les clients n’ont plus besoin de soumettre à nouveau toute la commande, mais font simplement référence à la procédure stockée.

Cela se traduit par une amélioration de la sécurité, une diminution de la redondance du code, et une augmentation des performances.

Des procédures stockées pour améliorer la sécurité

Elles peuvent fournir une protection contre les attaques d’injection SQL, principalement contre celles qui utilisent un opérateur AND ou OR pour ajouter des commandes à une valeur de paramètre d’entrée valide. Les programmes clients n’accédant plus directement aux tables. Toutes les opérations de gestion des …

[Lire plus]
Actualités MySQL

Voilà maintenant quelques jours que plusieurs nouvelles versions de MySQL sont sorties. Faisons le point.

En premier lieu, la version candidate 5.1.29 apporte, en plus des corrections de bugs habituelles, quelques changements notables concernant les options, certaines destinées à disparaître dans les prochaines versions. Par conséquent, il est dorénavant déconseillé d'utiliser l'option --skip-thread-priority, celle-ci étant vouée à disparaître dans la version 6.0. De plus, l'option --log est remplacée par --general_log et l'option --log-slow-queries est remplacée par --slow_query_log.

Changelog
Téléchargement

La version 6.0.7-alpha quant à elle propose de nouvelles options pour …

[Lire plus]
où sont les sources?

Mon ami Laurent essaye avec plus ou moins de succés à m’initier à la “continuous integration“… c’est ainsi que j’ai commencé à chercher les sources de MySQL!
En quelques secondes et avec cet excellent article sous le bras vous pouvez installer Bazaar et récupérer rapidement toutes les sources de MySQL… oui de la version communauté.
Qu’en est il de la version enterprise? Si vous n’avez pas de compte “enterprise”, une des seules solutions est d’aller les récupérer chez mes amis de Proven Scaling. …

[Lire plus]
MySQL 5.0 : Un SGBDR mature ? — (part 2/4)

Vues Des vues pour faciliter la visibilité

Les vues sont la plupart du temps utiles pour donner aux utilisateurs l’accès à un ensemble de relations représentées sous la forme d’une table. Une vue est une table virtuelle ; les données de la vue sont en fait des champs de différentes tables regroupées, ou des résultats d’opérations sur ces champs.

Des vues pour améliorer la confidentialité

Une vue n’est pas forcément un regroupement de plusieurs tables mais peut être un sous ensemble d’une table (ou de plusieurs) ce qui permet de cacher des champs aux utilisateurs.

Par exemple il ne sera pas forcément utile à tout le monde d’accéder aux champs indiquant les bénéfices réalisés sur un projet dans votre base comptable. Vous pouvez donc créer une vue contenant tous les champs de la table projet sauf le champs bénéfice.

L’approche avec MySQL 5 sera donc plus souple car …

[Lire plus]
MySQL: Le Book

Un gars sur IRC me demandait l’autre jour quel était “Le book” de MySQL. Il n’est évidemment pas possible de devenir expert en la matière avec un seul livre. Après quelques échanges, j’ai vite compris qu’il cherchait à améliorer l’utilisation qu’il en fait en tant que développeur d’application Web.

Je n’ai pas eu l’occasion (comprendre le temps) de lire des milliers de livres. Par contre dans ceux que je connais, je lui ai suggéré deux qui répondront bien à ce qu’il veut: MySQL 5.0 Certification Study Guide et MySQL Stored Procedure Programming.

Le Certification Study Guide se divise en deux parties distinctes: la …

[Lire plus]
MySQL 5.0 : Un SGBDR mature ? — (part 1/4)

MySQL est le SGBD Open Source le plus populaire au monde. Sa cinquième version, sortie en octobre 2005, permet de mieux répondre aux problématiques d’entreprise. Au menu des nouveautés fonctionnelles : les vues, les procédures stockées, les déclencheurs, de nouveaux moteurs de stockage, la base de données INFORMATION_SCHEMA et diverses petites améliorations.

Avec toutes ces nouveautés la philosophie de MySQL reste la même : « simplicité et hautes performances ».

Fonctionnalités

Déjà, avant même la version 5, MySQL supportait de nombreuses fonctionnalités avancées lui permettant de répondre à un grand nombre de problématiques d’entreprise : Les requêtes imbriquées depuis MySQL 4.1, les transactions depuis MySQL 3.23 ainsi que les clés étrangères et l’intégrité référentielle.

MySQL 4.1 MySQL 5.0
[Lire plus]
GlusterFS: création des packages Debian

Des packages existent déjà, merci à Leonardo Rodrigues de Mello. Mais ils sont en version 1.3.8, et depuis pas mal de bugs ont été corrigés, de nouvelles features sont apparues, il m'a parut nécessaire de construire mes propres packages.

Une version modifiée de FUSE est conseillée, et après l'installation et quelques mois d'utilisation non-intensive, je n'ai pas rencontré de problèmes.

  • Pour les packages fuse, je ne les ai pas recompilé, il existe déjà en version patchées.
gregbox:/usr/src/glusterfs# wget "http://lmello.virt-br.org/debian/fuse/libfuse2_2.7.2-glfs8-0_amd64.deb"
gregbox:/usr/src/glusterfs# wget http://lmello.virt-br.org/debian/fuse/libfuse-dev_2.7.2-glfs8-0_amd64.deb
gregbox:/usr/src/glusterfs# wget http://lmello.virt-br.org/debian/fuse/fuse-utils_2.7.2-glfs8-0_amd64.deb
  • l'installation :
[Lire plus]
Don’t be afraid to ask

J’ai lu récemment le bouquin MySQL Stored Procedure Programming de Guy Harrison et Steven Feuerstein. Il y a un passage d’environ une page qui m’a particulièrement marqué. Ça n’a rien à voir avec MySQL directement, il s’agit plutôt d’un conseil d’ordre général qui s’applique à tous les développeurs. Voici une traduction française de ce qu’il disait.

Les softwares sont écrits par des humains, il est donc important de reconnaitre que la psychologie humaine joue un rôle clé lors du développement.

Joe, le développeur senior d’une équipe de 6, a un problème avec son programme. Il l’a étudié durant plusieurs heures, devenant de plus en plus frustré puisqu’il n’arrive pas à trouver la source du problème. Il n’a pas pensé demander à un coéquipier, car ils sont tous moins expérimentés que lui. Après un bon moment, il abandonne et appelle un membre de l’équipe: “Sandra, peux-tu …

[Lire plus]
Dessine-moi MySQL : structure d’un index MyISAM et InnoDB

Deuxième exemplaire (traduire “2ème essai”) concernant ces schémas “à main levée”, au menu du jour une comparaison entre la structure d’un index MyISAM et celle d’un index InnoDB :

J’ai tenté de tenir compte de vos commentaires précédents, notamment sur les majuscules, est-ce plus lisible ?

Selon les “règles” établies pour cette série “Dessine-moi MySQL”, les schémas doivent être suffisamment explicites pour ne pas nécessiter d’explications supplémentaires…
Cependant, vu que je n’ai pas 10 ans d’école d’arts …

[Lire plus]
Vidéo PHP et MySQL, édition 65

Voici les 5 dernières vidéos PHP et MySQL.

[Lire plus]