Jeudi 16 novembre 2006

Depuis pas mal de temps, les codeurs essayent la façon la plus rapide/élégante/flexible de stocker de façon permanente des données.
En effet, les bases de données et la programmation orienté objet moderne (java, .NET,...) utilise en générale le design pattern DAO (Data Access Object) s'interfacé.
Les class DAO contiennent les requête SQL.
Cependant, ce pattern est très long a codé (beaucoup de ligne de code) et si on change de base de données on doit changer le code car le SQL n'est pas standard d'une BDD a une autre.
Et puis, il y a beaucoup de code que l’on répète pour se connecter à la BDD gérer les transactions, les exceptions,…
Pour résoudre cela, 2 solutions se sont profilé:

  • Les générateurs de code automatique. (Exemple: Code Smith) Ces outil génère automatiquement le mapping entre la BDD et les objets métiers par la génération automatique des class DAO. Il suffit donc de regénérer dans un autre langage SQL pour obtenir rapidement les DAO avec une nouvelle BDD.
  • Les brique logiciel de mapping Objet/relationnel (Exemple : Hibernate). Cette fois ci l'approche est différente. En effet, on intègre au projet une brique logiciel qui permettra d'accéder à la BDD et qui génèrera les requêtes SQL à la volé et pour faire le mapping on se sert du XML ou d'attribut dans le code.

Ces 2 méthodes se sont assez démocratisées. Cependant, elles ont des avantages et des inconvénients nombreux. En effet, Hibernate est assez lent car il rajoute une couche d'extraction qui doit être interprété. Pour les générateurs de code, on change souvent ce qu'il a générer car on doit souvent customiser et si on regénère on perd les customisations.

Pour résoudre ce problème, DB4O a eu l'idée génial d'abandonnée l'idée ancienne de base de données pour passé a une base d'objets. Avec cela, plus de problème d'interface ou on doit sélectionner les données puis les transférer dans un objet puisque tout est objet.
Une vraie révolution!!

Et non seulement, DB4O cela est élégant lors de son utilisation mais en plus cela est très rapide.

Et la toute dernière version de DB4O qui vient de sortir contiens un nombre impressionnant de modifications qui rendent DB4O encore plus rapide (gain de x10 en commit) et qui économisent beaucoup de mémoires.
Bref, c'est bien conçue, c'est simple, c'est rapide.
Il ne reste plus qu’à savoir si cela peut bien monter en charge comme une base de données classique.
Ils font beaucoup de test de avec de petit objet mais j'aimerais bien savoir ce qui se passe avec beaucoup de lignes  d'objets en base.
Par duff - Publié dans : nouvelle technologie
Ecrire un commentaire - Voir les 0 commentaires - Recommander
Retour à l'accueil

Calendrier

Juillet 2009
L M M J V S D
    1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31    
<< < > >>

Recherche

cree son blog sur over-blog.com - Contact - C.G.U. - Rémunération en droits d'auteur - Signaler un abus