C’est marrant la vie.

J’ai commencé par me passionner pour la modélisation des données, et les systèmes pour gérer ces données, les systèmes de gestion de bases de données (SGBD pour les intimes).

j’avais travaillé, pendant mes études, sur un système innovant, orienté objet.

La réflexion, dans le courant de ce que faisait O2 à l’époque, était de travailler sur un système de modélisation, permettant de faire « plus et mieux » que ce que propose les SGBD relationnels.

J’avais même acheté un NeXT pour développer une première version du système ! A l’époque, c’était un investissement très élevé, le prix d’une belle voiture neuve…

A la base, la réflexion, c’est de ce dire que la modélisation c’est super important, parce que c’est la « racine », et qu’ensuite, on empile les couches par dessus cette brique.

C’était bien avant le Web, bien avant le e-commerce.

Et aujourd’hui, je me rends compte à quel point ces réflexions restent d’actualités.

Dans les systèmes web, les bases de données sont, plus que jamais, au coeur du système.

Plusieurs experts du domaine, que je connais, commencent leurs analyses à partir de l’audit du système de gestion des données, relationnel dans 99% des cas.

Si une donnée est mal modélisée dans la base de données, il y a peu de chance pour que les choses s’améliorent sur les couches supérieures.

Le modèle relationnel est il fondamentalement pourri ?

Non, bien sûr que non !

Comme souvent en informatique, le pouvoir d’expression n’est pas en cause : on peut tout modéliser avec une base de données relationnelle.

C’est bien pour ça d’ailleurs que ce modèle a survécu, et même écrasé les modèles alternatifs des années 80 / 90.

La théorie, c’est qu’on n’a qu’à rajouter les couches qui vont bien, par dessus le modèle relationnel.

Ainsi, on peut très bien ajouter une couche objet, entre la programmation et le base de données.

Cela marche bien… Sauf que le Web challenge tout ça.

Les serveurs web se servent de la base de données pour beaucoup de choses, en permanence, en temps réel.

Résultat, la base de données devient rapidement « le maillon faible » du web, vis à vis des performances. On doit optimiser la base pour qu’elle réponde vite, et donc avoir de bons temps de réponses sur le site web.

Conséquence : on oublie la qualité de la modélisation, les formes normales pour ceux qui connaissent, et on fait de bons grosses tables plates, capable d’afficher rapidement les informations dont on a besoin.

Bon, l’autre problème, c’est que les bons concepteurs de bases de données ne courent pas les rues

Je suis convaincu que les choses doivent évoluer… Vont évoluer !

On doit, par exemple, ajouter des couches, de manière à séparer le coeur du modèle de données – ou l’on doit privilégier la qualité de la modélisation – et la couche de présentation, on l’on doit privilégier les temps de réponses.

Bref, la modélisation de données, c’est un bon fil rouge, entre hier, aujourd’hui et demain !

Tout ça pour dire que, entre le début de ma vie professionnelle et aujourd’hui, je me rends compte à quel point tout cela est cohérent.