Intégration des caches dans un ORM
Projet 2A – Informatique et Réseaux
Objectif Bon à savoir
3
3
1
1
4
4Architecture logicielle
Encadreur
M. Fréderic Fondement
Etudiante
Armelle WAMBA
Clients Base de données
Requête 1
Requête 2
Requête 3
Requête 4
Requête n
Réponse 2 ...
Intégrer des caches dans un ORM.
https://code.google.com/p/n-orm/ est le
logiciel ORM sur lequel nous avons
intervenu.
Guava
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 »
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é.
2
2
Problème
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.
Clients Base de
données
Cache
Temps
plus
long de
traiteme
nt
Plus rapide
Requête 1
Réponse 1 Requête 2 Requête 2
Réponse 2
Requête 3
Réponse 3
Requête 4
Réponse 4
Temp
s de
traite
ment
d'une
requê
te
Store
CachedStore ICache
HazelcastCache GuavaCache
1
1 delegatingStore
Store est l'interface par
laquelle n-orm passe pour
rechercher ou stocker des
informations dans la base de
données.
3.1
3.1 3.2
3.2
Départ Arrivée
Le processus fonctionne ainsi :
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
3.3
3.3 Fonctionnement
Côté Technologie
6
6
Cas particulier de Hazelcast
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.
5
5Caractéristiques
Réduit le temps d'attente
Aucune donnée perdue
Evolutif
Très performant
Moins couteux
Facile à maintenir
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.