Impedance Mismatch
Posted by Aurélien Pelletier | Filed under architecture
Que ceux qui travaillent en mémoire avec des objets et qui persistent ces mêmes objets dans une base de données relationnelles lèvent le doight…
Hibernate et Toplink avant lui sont des “messies” pour résoudre le fameux problème du mapping objet relationnel. Mais utiliser ces frameworks pour résoudre le problème ne garantit pas le succès. Il faut comprendre la différence entre la conception orienté objet et le monde des bases de données relationnelle, le fameux “Impedance mismatch”. Je vous recommande donc la lecture de cette publication : Modèles relationnel et objet qui fait très bien le tour de la question.
Si il n’y avait qu’une seule chose à retenir:
Dans le monde relationnel on calcul (jointures, indexes…) l’accès aux données alors que dans le monde objet on parcours un model (pointeurs). Les conséquences? L’objet permet d’obtenir un modèle plus proche de la réalité et donc utile pour traiter des problèmes complexes. Par contre il est beaucoup plus dur de mettre à jour une données dans un modèle objet que dans un modèle relationnel.
Je veux travailler avec une base de données objet !!!!

The Impedance Mismatch by Aurélien Pelletier, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 2.0 France License.
Related posts:
- Inversion of control ou Dependency injection ?
- DNG 2005: Mise en oeuvre de DSL – Domain Specific Language
- Spring Framework
- Jrules
Tags: architecture
4 Responses to “Impedance Mismatch”
Leave a Reply
Additional comments powered by BackType


July 11th, 2005 at 4:30 am
Eh bien va voir du coté de chez versant
ou fait du JDO
sur un autre SGBD
Pour avoir travaille plusieurs années avec des bases de données objets, je peux dire que c’est un petit bonheur ! repasser ensuite avec des SGBRD brrrrrr
July 11th, 2005 at 5:43 pm
Avant d’embarquer dans la bête de course qu’est Versant, un petit détour pas une petite base simple comme db4o (GPL) peut être utile pour se faire la main et comprendre tout l’intérêt de la chose.
July 12th, 2005 at 3:04 am
Effectivement db4o ! on a toujours tendance à l’oublier alors que “elle a tout d’une grande”
February 6th, 2006 at 3:20 pm
[...] Mais utiliser un moteur de règles ne nous affranchi pas des problèmes de performance classique que l’on rencontre dans toute application. En premier lieu le problème de l’accès aux données. Jrules est très très orienté objet, lors de l’exécution des règles le graphe objet peut être parcouru de manière intense… Comme les données sont souvent stockée dans des bases de données relationnel le problème du mapping objet/relationnel, “l’impedance mismatch” peut devenir très important. [...]