Bidirectional approach to Channel-based database schema evolution

  • Mathieu Beine
  • Nicolas Hames

Student thesis: Master typesMaster en sciences informatiques

Résumé

Aujourd’hui, beaucoup de logiciels applicatifs utilisent des bases de données, la plupart utilisant un modèle de données relationnel. Avec la complexité croissante des systèmes ainsi que les changements d’exigences émerge le besoin d’adapter et
de faire évoluer les applications pour satisfaire à de nouveaux objectifs. Dans le contexte des applications utilisant des bases de données, les adaptations peuvent être effectuées au niveau de la base de données (par exemple, changement de
schéma, migration de données) ou au niveau du logiciel applicatif (par exemple„ le code du programme). Les changements effectués à un niveau nécessitent souvent des changements à l’autre niveau afin de garder l’entièreté du système fonctionnel.
La synchronisation de l’adaptation entre les différents niveaux est souvent appelée problème de co-évolution de schémas/programmes.
Les transformations bidirectionnelles (bx) sont une solution possible à ce problème de co-evolution entre la base de données et l’application. Elles peuvent être utilisées afin de découpler l’évolution du schéma de la base de données de celle du code du
programme, par exemple, en autorisant des changements sur la base de données pendant que certains programmes peuvent rester inchangés. Dans ses travaux, J. Terwilliger introduit le concept théorique de Channel comme un mécanisme
permettant de découpler les “bases de données virtuelles” utilisées par le code de l’application, de l’actuelle représentation des données maintenue au sein du système de gestion de base de données (ou encore “schéma physique”).
Dans cette thèse, nous rapportons sur les considérations et les expériences d’implémentation de ces Channels, en pratique, dans le contexte d’une application complexe du monde réel. Nous nous focalisons sur les Channels implémentant les
transformations telles que celles de Pivot et Unpivot, présentons différentes alternatives pour générer ces Channels et discutons les caractéristiques de performance de ces transformations à grande échelle. Nous présentons enfin un outil permettant lagénération de ces Channels.
la date de réponse2 sept. 2014
langue originaleAnglais
L'institution diplômante
  • Universite de Namur
SuperviseurAnthony Cleve (Promoteur)

Contient cette citation

'