Sens et enjeux des modèles de stockage et d’accès aux données

C’est typiquement le genre d’article qui nécessite des corrections, des remarques et peut-être un débat. Alors n’hésitez pas.

Code et data

Pas de code sans données, car le but d’un code est de tourner et de produire des résultats et, pour ce faire, le code doit “manger” des données.

On peut voir le code dans sa forme la plus abstraite comme un algorithme dont le rôle serait de produire des preuves. Mais on peut aussi voir le code comme un algorithme qui ne fait pas simplement que valider et prouver mais également qui produit des changements d’états et des évènements qui, au sens littéral du terme, changent le monde.

On a ici un parallèle avec les “speech acts” de Searle et Austin dont Henry Story avait parlé dans son intervention au MeetUp Semantic Web de Février 2011.

Quiconque écrit un programme s’attend en effet à “changer le monde”, ne serait-ce que pour écrire “Hello World” sur un terminal. Changer le monde avec des algorithmes et du code, Microsoft, Google,  Facebook et d’autres l’on fait, et l’ensemble des développements en Open Source peut-être plus encore.

Pas de code sans données donc.  Or ces données sont stockées dans des supports de mémoires différents selon qu’elles sont en mémoire vive, sur un système de fichier, ou dans une base de donnée. Et chaque support de mémoire utilise un modèle de données qui n’est pas forcément le même. Ce qui nous ramène à la difficile collaboration entre les développeurs et les gestionnaires de base de données.

Si les développeurs et les administrateurs de base de données doivent collaborer, la réalité est parfois toute autre : les développeurs ne comprennent pas toujours le SQL et les RDB (bases de données relationnelles), et les DBA (administrateurs de base de données) ne voient les développeurs que comme de dangereux cowboys qui veulent massacrer l’intégrité de leur données (“mon précieux …”).

Le DBA

Le développeur

more »

Métastabilité et architectures logicielles

Dans une note précédente sur les technologies relationnelles dans les systèmes d’information, j’ai présenté la métastabilité comme élément dirimant entre les technologies de gestion et les technologies relationnelles. Je voudrai à présent en dire un peu plus sur la métastabilité et sur ses enjeux, notamment en appliquant le concept simondonien de métastabilité à l’informatique (je suis loin d’épuiser le sujet).

more »

Les technologies relationnelles dans les systèmes d’information

Après l’informatique embarquée et l’informatique de gestion, tend à s’en rajouter une troisième informatique qui est l’informatique relationnelle. Celle-ci ne repose plus sur des technologies de gestion mais sur des technologies relationnelles.

Pour expliciter ce qui se passe, il faut d’abord dire que ces deux informatiques, de gestion et relationnelle, malgré les différences que je vais souligner, ne s’opposent pas systématiquement. Ainsi, une application peut relever à la fois d’une informatique de gestion et d’une informatique relationnelle. more »