Archive pour le mot-clef ‘actu’

Concours graphique : DBNewz cherche son logo

Lundi 15 septembre 2008

Chers lecteurs, vous avez la possibilité de devenir l’auteur du logo de DBNewz : à vous la gloire éternelle et le CV phosphorescent :)

J’avoue, je ne suis pas convaincu que le geek MySQL soit un artiste doté du plugin « design ». J’ai moi-même longtemps cherché ce plugin mais rien n’y fait, j’ai toujours du mal à écrire lisiblement « C’est la rentrée sur DBNewz » sur une ardoise, alors ne parlons pas de logo…

Mais j’y pense : qui dit concours… dit bien sûr : cadeau !

Lire le reste de cet article »

L’incontournable ouvrage de la rentrée : « High Performance MySQL 2nd Edition »

Mercredi 10 septembre 2008

Paru au début de l’été, cette seconde édition de « High Performance MySQL » rassemble en 700 pages un contenu de grande qualité dédié à notre base de données favorite.

Lecteurs de la première édition sachez que ce nouvel opus est une version totalement réécrite et considérablement enrichie. Parmi les auteurs on retrouve Jeremy Zawodny, grand apôtre de MySQL au sein de Yahoo Finance à l’époque, mais également la fine fleur du MySQL Performance Blog : Baron Schwartz (auteur du Maatkit), Peter Zaitsev et Vadim Tkachenko. Arjen Lentz et Derek J.Balling (également de la 1ère édition), complètent la dream team.

C’est Baron Schwartz qui semble avoir abattu le plus gros de l’ouvrage cette fois-ci, et à ceux que l’aventure tenterait, il nous fait partager sur son blog le making of de l’ouvrage. Par ailleurs, le billet : « êtes-vous sûr de lire la seconde édition« , appuye sur le fait que première et seconde édition partagent à peu de choses près la même couverture. Par conséquence, vérifiez la présence de la mention « 2nde édition » en diagonale en haut à droite de la couverture.

« High Performance MySQL » dispose d’un site dédié et notamment d’une rubrique téléchargement qui vous permettra de mettre la main sur le sommaire et le chapitre 4 consacré aux optimisations des requêtes.

Parmi les thèmes traités de façon très détaillée on trouve : Architecture de MySQL, Benchmarking/Profiling, indexation, tuning serveur, optimisations OS/hardware, montée en charge et haute disponibilité, backup, sécurité, réplication…

L’ouvrage est disponible chez Amazon par exemple mais il y’a plus malin si vous souhaitez vous procurer au moins deux exemplaires (pour votre département DBA par exemple) puisque le troisième est en effet gratuit si vous passez par le site d’O'Reilly.

Sachez enfin que « pébé », l’un de vos serviteurs ici-même et père de dbnewz, a participé à l’élaboration de cet ouvrage en tant que « technical reviewer ». Vous hésitez encore ? :)

Drizzle ou petite pluie…

Dimanche 17 août 2008

Les grandes vacances ne sont pas synonyme de détente pour tout le monde. Je suis en effet pas mal pris et je voyage beaucoup en ce moment. J’écris ce post de Taipei ou je profite de cette fin de week pour me pauser. Je me demande quelle est l’opinion de la blogosphère française au sujet de Drizzle.

Pour les anglophobes, Drizzle est une version "light" de MySQL basée sur un "fork" de la version 6.0 lancé par Brian Aker. Un fork pour faire simple, on prend une copie des sources à un instant t et on commence à developper dans son coin. Jusqu’à présent, je connaissais celle de mes amis de Proven Scaling et celle de Monty lui même (j’en profite pour saluer Guilhem qui fait parti de ce projet).

Maintenant pourquoi le nom Drizzle? un petit tour sur wikipedia, Drizzle est une petite pluie… humm.. et cet RDBMS à pour cible les applications web et le cloud (nuages) computing… ok! gotcha! :)

Toujours sur wiki , on prend MySQL, on enlève tout qui n’est pas nécéssaire pour une application web ( procédures stockées, view, triggers,…) et on rajoute, corrige les problèmes actuels de MySQL (core,..)…

Maintenant que nous avons fait un peu le tour de sujet, nous sommes en droit de nous poser quelques questions. De mon point de vue, beaucoup de membres de la communauté n’ont pas toujours pas digéré la séparation de MySQL en communauté et enterprise. Ils ont senti leur "bébé" leur échaper. De même, beaucoup se sont senti frusté lorsque le temps d’intégration d’un fix s’est mis à grandir de façon exponentielle…

J’ai bien aimé le post de Brian aussi, "Drizzle n’est pas un remplacant potentiel de MySQL"… oui… oui et non. Si j’ai une application web, dois je utiliser Drizzle ou MySQL? Sachant quand même que le succes de MySQL est quand même basé sur le succes du web.

Finalement je finirai par le post de Mark, "share the love", "partager l’amour", humm pas très français tout çà. Pour ma part, je suis content qu’une initiative telle que Drizzle voit le jour, et j’attends avec impatience de pouvoir la tester et l’évaluer mais j’attends avec encore plus d’impatience que la 5.1 soit G.A, que Maria sorte une version plug-in, que le plug-in InnoDB devienne stable,…

Et vous, qu’en pensez-vous?

Quelques propositions de lecture : revue de blogs MySQL

Mardi 29 juillet 2008

En vacances pour quelques jours encore (mais le wifi est le cordon ombilical du geek), je vous propose cette fois-ci non pas un article mais une sélection de liens susceptibles de vous intéresser. Considérez ces propositions de lecture comme autant d’occasions d’enrichir vos bookmarks ou lecteurs de flux RSS préférés.

Commençons par les sources d’information en français, c’est vite fait :

Tout d’abord passage obligé par Planet MySQL, dont la déclinaison française est dûe à « Pébé« , il y’a pour l’instant beaucoup moins de blogs MySQL que sur la version originale mais n’hésitez pas à vous faire connaître si vous-même bloggez sur MySQL en français.

Transition toute trouvée vers le site de Nexen.net, dont le flux d’actualité MySQL est lui aussi présent sur Planet MySQL. Je vous encourage tout particulièrement à vous abonner à la newsletter hebdomadaire de Damien Seguy, vous y trouverez une sélection d’articles PHP/MySQL de qualité.

Le contenu français s’arrête là, cependant ne passez pas à côté de la nouvelle édition (été 2008) du MySQL Magazine, au menu différents tutoriels dont un concernant mk-table-checksum, un des outils du célèbre maatkit permettant de s’assurer que le contenu de vos tables sur le slave sont bien identiques à celles du master. Egalement au programme de cette édition, le résultat d’un grand sondage MySQL.

Vous l’aviez sans doute remarqué mais au cas où : le module de recherche du site mysql.com a été grandement amélioré. Reposant désormais sur une technologie Google, les résultats sont plus pertinents.

Un billet de mysqlperformanceblog nous rappelle qu’en installant un GNU/Linux 32 bits sur une architecture 64 bits, MySQL ne pourra utiliser plus de 2.5 GB de mémoire… C’est pourtant une configuration répandue chez les hébergeurs.

Ne ratez pas les slides « Join-Fu » de Jay Pipes : de très bon slides sur l’optimisation des requêtes, le partionnement, il y’a deux séries de slides, lisez au moins la première.

Enfin, un article très intéressant (trouvé via xaprb.com) sur le partionnement des données avec à la clé la présentation d’une stratégie nommée BASE (basically available, soft state, eventually consistent) à comparer avec le plus classique ACID (Atomicity, Consistency, Isolation, Durability), l’idée étant ici de « sacrifier » la cohérence assurée par le SGBD au profit d’une meilleure montée en charge, tout en retombant sur ses pieds bien sûr…

Bonnes lectures !

Vous avez une question? Nous y répondons!

Samedi 5 juillet 2008

Un peu dans l’idée de asktom.oracle.com, le très célèbre site de Tom Kyte, grand gourou Oracle, nous lançons une sorte de Yahoo! Question – Réponse sauce DBNewz. Suite à l’idée d’Arnaud et sa série dont vous êtes le héros, nous vous invitons à poser une question par émail à question@( vous connaissez le domaine )  et nous y répondrons.

Quelle est la différence avec un forum? Nous retenons les meilleures questions et nous écrivons un article avec la dite question et sa réponse. Si vous ne voyez pas votre question, c’est que nous n’avons pas encore eu le temp d’y répondre…

A très bientôt!

PS: Cette adresse peut aussi être utilisée si vous constatez un problème sur le site…

Les certifications MySQL 5 : retour d’expérience

Vendredi 13 juin 2008

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.

Lire le reste de cet article »

MySQL Cluster fait bande à part

Mercredi 28 mai 2008

Kaj Arno annonce qu’à partir de la version 5.1.25 de MySQL Server, les binaires de MySQL Cluster ne feront plus parti du package. Pas de panique, c’est en fait une nouvelle branche qui est créee, le MySQL Cluster fera donc l’objet d’un package séparé (les versions sont pour l’instant identiques mais l’espace dédié est déjà crée).

A l’origine de cette division, des rythmes de développement différents entre MySQL Server et MySQL Cluster, mais aussi des retours de la part des utilisateurs du cluster indiquant que ces derniers sont davantage concernés par les derniers développements du MySQL Cluster plutôt que par ceux du MySQL Server. Cette séparation devrait donc permettre aux nouvelles versions de MySQL Cluster d’être publiées plus rapidement.

Jeremy Cole apporte son grain de sel à cette annonce et souligne que cette séparation dans les packages peut également être percue comme un « aveu » que le système actuel permettant à MySQL d’accueillir des moteurs « plugable » ne tient peut-être pas toutes ses promesses… Ce que reconnaît à demi-mot Stewart Smith (MySQL software engineer sur le cluster) dans les commentaires : l’opération n’est apparemment pas simple, les moteurs de stockage (NDB compris) effectuant selon lui plus de tâches qu’ils ne devraient.

High Performance MySQL 2nd edition, pour bientôt… ou pas.

Jeudi 22 mai 2008

Deux mauvaises nouvelles de la part de O’reilly ce mois-ci :

- J’attendais mon édition de High Performance MySQL 2nd edition pour la semaine prochaine, le 1er juin d’après le mail récapitulatif de précommande reçu fin avril, mais c’est la date du 1er juillet qui apparaît désormais sur la fiche d’Amazon France… Le .com indique en revanche la date du 19 juin, un peu flou tout ça.
Ceux qui comme moi sont impatients de découvrir cette seconde édition (l’ancienne datait de 2004 et était déjà excellente) devront donc patienter encore un peu.
D’ici là libre à vous de la précommander ou d’attendre mon verdict… qui ne pèsera sans doute pas grand chose face à la qualité des auteurs présents : les experts du fameux « mysqlperformance blog » (Baron Schwartz, Peter Zaitsev, Vadim Tkachenko), mais aussi Jeremy Zawodny (de la précédente édition), Arjen Lentz… Du beau linge !

- La véritable mauvaise nouvelle est ailleurs, il s’agit bien sûr de la fermeture de la filiale française d’O'Reilly survenue au début du mois, un évènement pas si hors-sujet sur un blog comme celui-ci : qui n’a jamais eu entre les mains un de leurs ouvrages ?
En dépit de la qualité reconnue de ces derniers, la maison mère a fini par couper les subventions : les faits sont relatés sur immateriel.fr (billet du 9 mai), un blog tenu par l’ancienne équipe semble-t-il. Souhaitons leur tout le succès qu’ils méritent dans leurs prochaines aventures.

Nouvel auteur pour DBNewz: Arnaud Gadal

Dimanche 4 mai 2008

La vie est faite de hasard et de rencontres. Cette fois-ci, j’ai eu le plaisir de rencontrer Arnaud à la dernière conférence MySQL UC. Devant son talent et sa motivation, j’ai rapidement eu l’envie de le voir participer encore plus à la vie de la communauté française. C’est avec joie que je vous informe de sa volonté de me rejoindre sur ce blog. Bienvenue Arnaud!

Arnaud: « De l’éléphant Php au dauphin MySQL, je navigue entre deux mondes étroitement liés : le développement web et les bases de données. Actuellement « ingénieur bases de données » chez un opérateur internet / télécom, je manipule particulièrement MySQL (tuning, réplication, cluster…) avec un soupçon de PostgreSQL. Je participe notamment à l’élaboration de solutions à forte audience capables de monter en charge et d’assurer une haute qualité de service. »

Je vous laisse le plaisir d’en découvrir plus dans les semaines à venir sur DBNewz.

Some thoughts on Agile Data Development

Mardi 11 décembre 2007

Many things in the current IT world are based around hard facts, solid experience and studied techniques. Unfortunately this tends not to be the case when it comes to application developers making database decisions. This is not a criticism of application developers per se, their expertise lies in the app technology, but more a problem with development process and a misunderstanding of the role of the database as the underpinnings of data oriented (as opposed to object oriented) application architecture.The general process of modern agile application development proceeds along fairly set lines of iterative feature based and hopefully test driven development. This approach of getting something working with a suite of tests around it which enable rapid refactoring and rapid development run counter to most Big Design Up Front (BDUF) methodologies, most notably the much maligned waterfall model and the general approach taken to most database driven methods. To truly be an agile database developer in this brave new development world implies a level of clairvoyance beyond most of us, and requires an understanding of future application direction and projected data growth which is beyond that which can be expected of application developers and their product managers. To ignore this difference in requirements of the agile developer and the data modeller/DBA will invariably lead to scalability and performance issues as the project moves forward through its multiple iterations.

We are not saying here that the focus and philosophy of the agile development team and that of the database designer/administrator are incompatible, more that there is a difference in the needs and aims of the two groups and that this difference needs to be recognised as such. This is not always the case in the necessary drive to shift development paradigms. The larger the project, the more apparent this becomes. Changing code is not the same as changing data. A database at the core of a complex multi tier application will usually be supporting many different access paths, from the OLTP requirements of a running user driven application to the reporting requirements of management and maintenance as well as a suite of custom administration interfaces, data feeds in and out as well as the requirements for failover and disaster recovery, and refactoring, recoding and changing requirements is not as simple as that of single parts of the overall codebase.

While there are database methodologies to support agile development, generally the current processes have database design/deployment/administration as worrying separate, and the realms of all the pieces of getting a product from the back of a restaurant napkin to global server deployment need to incorporate the whole iterative development process. We should not be in the position of giving the DBAs the code to deploy when the iterative cycle ends. This is simply unacceptable from an architecture and process point of view. What we have here is a series of failures in using the best people for the job.

As mentioned above, application developers are not generally the best people to be structuring and modelling the data. Data structures, no matter how well abstracted, are fundamentally tied to the underlying technology. Sensible design and architectural decisions can only happen if the data specialists are incorporated into the agile development teams themselves. We can, and need, separate database administration teams, but also, these teams must be part of, or have significant input into the development process, else all roads lead to project misery, to poor use of software/hardware and the continuation of the ignorance loop, as mistakes in data structure and design are rarely fed back up to the original designers. Adding features to code and refactoring as we go works for code, it rarely works in practice for data. It is not so much the new features that is the problem, it the short-termism which the process unconsciously encourages which lies at the heart of the problem. Large data volumes require a degree of foward planning that is often lacking from our short Sprint focused design decisions.

Ignoring data modelling disasters, most projects start off with a fairly well understood and structurally sensible data structure (bear with me here) for the first few iterations of the system. These first set of requirements generally have the data model supporting them happily. The issues only usually really arise as the codebase and feature list grows, along with the growing datasets. Data structures that support smaller volumes of data do not necessarily scale linearly and a lack of understanding of the changing nature of the system will cause problems for the future of the application due to information not flowing back from the DBAs about the current state of the system, as well as the new demands being placed on it from the continuous feature development of the agile processes. Changing requirements are all part of the agile world, and are part of the power of this type of development, and additional features pose less of a problem than feature modifications, but the focus of short iterative steps can easily lead to a loss of focus on the greater need of the ability of the database and the datamodel itself to support the changing application.

In conclusion, for our agile data development processes to succeed, we need to use the skills where they are best suited. Database abstraction layers need to be tested by the database specialists, not in isolation, but within the application context itself, and any fundamental design decisions should be made by the people who understand the systems involved, at all levels.