Intégration des caches dans un ORM Projet 2A – Informatique et Réseaux Objectif 11 Intégrer des caches dans un ORM. https://code.google.com/p/n-orm/ est le logiciel ORM sur lequel nous avons intervenu. 33 ORM : un mapping objet-relationnel Est une technique de programmation informatique qui crée l'illusion d'une base de donnée orienté objet à partir d'une base de donnée relationnelle en définissant des correspondances entre cette base de données et les objets du langage utilisé. On pourrait le désigner par « correspondance entre monde objet et monde relationnel » Problème Un cache une mémoire qui enregistre temporairement des copies de données provenant d'une autre source de donnée, afin de diminuer le temps d'accès (en lecture ou en écriture) d'un matériel informatique à ces données. Elle est plus rapide mais avec une bien petite capacité. Les bases de données utilisent des ressources lentes (disque dur) pour stocker des données mais sont moins rapide, tandis que les caches utilisent la RAM avec une petite capacité mais beaucoup plus rapide.D'ou l'idée d'utiliser des caches en plus de la base de donnée pour plus de performance. Départ 3.1 3.1 Arrivée 3.2 3.2 3.3 3.3 Fonctionnement Base de données Clients Le processus fonctionne ainsi : Requête 1 Temp s de traite ment d'une requê te Requête 2 Requête 3 Requ ête 4 Réponse 2 44 Bon à savoir 22 Clients Requête 1 Réponse 1 Plus rapide Requête 2 Requête 3 ... Base de données Cache Requête 2 Temps plus long de traiteme nt Réponse 3 Requête 4 Réponse 4 Req uête n Réponse 2 1. le client demande une information 2. le cache vérifie s'il la possède, si oui elle retourne l'information, sinon elle envoie une requête à la base de donnée, qui traite l'information puis renvoie la réponse au cache. 3. Le cache stocke l'information pour pouvoir la traiter plus rapidement lors de la prochaine demande, puis la renvoie au client Architecture logicielle Store est l'interface par laquelle n-orm passe pour rechercher ou stocker des informations dans la base de données. Store CachedStore Cas particulier de Hazelcast 55 1 delegatingStore 1 ICache HazelcastCache GuavaCache Caractéristiques Réduit le temps d'attente Aucune donnée perdue Evolutif Très performant Moins couteux Facile à maintenir Vous pourriez ajouter votre cache implémentant l'interface ICache, ensuite la tester grâce aux tests abstraits qui ont été implémentés dans notre système. 66 Côté Technologie Hazelcast : système de cache distribué Grille de données en mémoire Redistribution des données entre tous les nœuds, même sur l'entrée de nouveaux nœud. Guava Encadreur M. Fréderic Fondement Etudiante Armelle WAMBA