Connexion

Connexion à votre compte

Identifiant
Mot de passe
Maintenir la connexion active sur ce site

Blog

Nextep, un outil de gestion de version des bases de données

 

Afin de rendre possible le développement Agile des bases de données les auteurs citent cinq techniques à mettre en place:

  • Le réusinage de bases de données (refactoring)
  • La modélisation évolutive des données
  • Les tests de non regression des bases de données
  • Le versionnage des métadonnées (DDL, vues etc...)
  • La mise en place de sandboxes

Dans la préface du livre, John Graham (Chef de projet Eclipse Data Tools Platform), prévoit la création prochaine d'outils spécifiques qui faciliteront la gestion évolutive des bases de données.

I am very exicted to see the publication of this book, and hope that it drives the creation of tools to support the techniques it decsribes. [...] I hope open-source community will work hard to realize this vision, because the potential payoff is great. Software development will move to the next level of maturity when database refactoring is as common and widely applied as general refactoring itself. John Graham

Traduction approximative :

Je suis très exité par la publication de ce livre, et j'espère qu'il motivera la création d'outils pour aider à mettre en place les techniques qui y sont décrites. J'espère que la communauté open-source travaillera dur pour faire de ce souhait une réalité, parce que le bénéfice à en tirer est grand. Le développement logiciel pourra accéder au niveau de maturité supérieur lorsque le réusinage des bases de données sera aussi communément utilisé que le réusinage classique lui-même.

Des outils de versionnage des bases de données ont effet vu le jour comme LiquidBase, Flyway, Solibase ou encore dbmaintain. Parmi ces solutions, une solution française neXtep nous propose de supporter le déploiement de nos bases de données en offrant des outils de versionnage et de test.

Le projet neXtep a été créé en 2007 par Christophe Fondacci, l'objectif initial était de mettre en commun les efforts de développement des bases de données de différents projets.

Le projet neXtep est né de besoins très concrets auxquels nous avons du faire face à Voyages-sncf.com (VSC). Au départ, Voyages-sncf n'était qu'un seul et unique projet. J'avais la charge de l'architecture de la base de données. A partir des années 2003-2004, les projets ont commencés à se multiplier : eurostar, sites en marques blanche, sites B2B, puis idTGV, VSC Europe, etc. Tous ces projets, bien que différents, partagent des bases communes : gestion des propriétés, gestion des référentiels de lieux / gares, gestion des clients, gestion des commandes. Christophe Fondacci

La solution neXtep devait donc répondre à deux besoins : réussir à versionner leurs modèles de données pour gérer correctement les divers environnements (production, recette, intégration et développement) et réussir à partager une sous-partie du modèle de données entre les différents projets.

L'idée de base est de construire un système de versioning sur lequel s'appuie un moteur de génération SQL. Ainsi, nous pouvons versioner nos développements, comparer 2 versions et générer un SQL résultant de ce delta : c'est la base du déploiement incrémental pour les bases de données. Christophe Fondacci

La solution a connu un assez grand succés malgré les réticences culturelles des proféssionnels des bases de données qui constituent le frein principal à l'adoption.

5 ans plus tard nous avons un peu plus de 2000 utilisateurs un peu partout dans le monde. Tout le monde ne comprend pas encore le besoin de versionner son modèle de données et nous nous efforçons de travailler à simplifier l'utilisation de notre outil pour le rendre accessible au plus grand nombre. Christophe Fondacci 

Rechercher sur le blog