MySQL Cluster fait bande à part

Wednesday 28 May 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.

Thursday 22 May 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

Sunday 4 May 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

Tuesday 11 December 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.

Kaj repond à Mike et Jeremy…

Thursday 9 August 2007

Kaj réagit aux discussions d’hier. Mais qu’est ce que cela va changer pour le user landa? Va-t-il se tourner vers la version enterprise? Sachant que j’ai encore des serveurs qui tournent MySQL du 3.23, du 4.0 et du 4.1, cette restructuration aura-t-elle un impact pour moi? Non je ne crois. Pour des grosses sociétés, tous les bugs sont trouvés en phase de test… si la version courante est buggé, je prendrais la précédente.

des nouveautés sur MySQL Enterprise vs Community

Thursday 9 August 2007

Les annonces faites par Kaj ont secoué un peu la communauté avec des réactions assez forte de ses membres actifs. Je vous laisserez les lire en détails sur son blog.
Mais voila l’idée générale:

  • Les patchs et les nouvelles fonctionnalités ne seront plus appliqué à la GA mais attendront la version suivante.
  • 2 GA par an pour ce qui est des binaires
  • pour les nouvelles versions 1 GA par mois jusqu’à maturation
  • 4 GA par an pour ce qui est des sources
  • Les sources des versions “entreprise” ne seront disponibles que pour les clients payant

Suite à cela pas mal de réactions, en autres de la part de Mike et Jeremy à ce sujet.

Maintenant quoi penser de la chose? Techniquement, MySQL est open source et pas free source. MySQL a été porté par sa communauté et c’est ce qui a fait que cette BdD soit devenu si populaire. On ne peut pas s’empêcher de penser à la même séparation qu’il y a eu lieu entre RHEL et Fedora. A la différence que les patchs et fixs sont d abord appliqués sur FC et que les versions stabilisées sortent ensuite sur RHEL.

Proven Scaling en Europe

Sunday 8 July 2007

Un événement MySQL en Europe à ne pas rater est le développeur meeting qui aura lieu le 20,21 septembre 2007 à Heidelberg en Allemagne, prés de Francfort. Je vous laisse lire le post de Kaj à ce sujet. C’est avec un grand plaisir que je viens d’apprendre que mes amis Jérémy et Eric de Proven Scaling seront de la partie.
Si vous avez besoin de conseils, de formations c’est le moment d’en profiter, ce n’est pas souvent que ces experts mondiaux sont parmi nous. Ils sont prêt à se déplacer partout en France et en Europe soit avant soit après le meeting. Vous pouvez soit les contacter directement soit me laisser un message.

C’est officiel.

Monday 21 May 2007

Je tenais à remercier Lenz pour le clin d’oeil sur son blog. Comme il le dit si bien amis MySQL fan, proposer sans faute votre flux.
Plus on est de fous pour on rit.

planetmysql

Thursday 3 May 2007

Une des raisons de la création de ce site vient d’une simple remarque. Il n’y avait pas assez de blog en français sur MySQL. Un des exemples frappant est l’absence complète de français sur Planet Mysql. Vous aviez de l’anglais, de l’allemand et de l’espagnol. Et nous francophones, ou sommes nous? Etant à la conférence, j’en ai profité pour en parler à Jay Pipes qui était évidement content de rajouter une nouvelle langue. J’ai donc passer ma soirée d’hier à traduire les fichiers de configurations et vous avez dés aujourd’hui le drapeau bleu blanc rouge sur le site! dbnewz va prochainement apparaître!