Intégration des caches dans un ORM

publicité
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
Téléchargement