Hibernate : stratégies de chargement et de cache performantes

1,197 views

Published on

Hibernate est un framework puissant et complexe, et son rôle dans les applications transactionnelles modernes en fait la brique critique du point de vue de la performance applicative.


Alain vous propose d’examiner ensemble, et de l’intérieur grâce à dynaTrace, les impacts des best practices et anti-patterns sur une application spring-hibernate soumise à de la charge.

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,197
On SlideShare
0
From Embeds
0
Number of Embeds
95
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Hibernate : stratégies de chargement et de cache performantes

  1. 1. Alain Hélaïli – [email_address] EMEA SE Manager Hibernate, stratégies de chargement et de cache performantes Geneva JUG – 28/09/2010
  2. 2. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  3. 3. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  4. 4. Environnement de test <ul><li>Environnement de test </li></ul><ul><ul><li>Hibernate, Spring, JSF </li></ul></ul><ul><ul><li>Build Maven </li></ul></ul><ul><ul><li>Tests JUnit </li></ul></ul>
  5. 5. Environnement de test
  6. 6. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  7. 7. Stratégies de récupération <ul><li>Lazy </li></ul><ul><li>Join </li></ul><ul><li>Batch </li></ul><ul><li>Fetch profile </li></ul><ul><li>Lazy property </li></ul>
  8. 8. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  9. 9. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  10. 10. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2 nd niveau </li></ul><ul><li>Cascade </li></ul>
  11. 11. Agenda <ul><li>Environnement de test </li></ul><ul><li>Stratégies de récupération (Fetching) </li></ul><ul><li>Cache de Session </li></ul><ul><li>Cache de requêtes </li></ul><ul><li>Cache de 2nd niveau </li></ul><ul><li>Cascade </li></ul>
  12. 12. Conclusion <ul><li>Représentativité du jeu de données </li></ul><ul><ul><li>Relation 1-n : en cible, plutôt 1-3 ou 1-100? </li></ul></ul><ul><li>Représentativité du volume de données </li></ul><ul><ul><li>Volume cible doit être connu dès la phase de conception </li></ul></ul><ul><ul><li>Volume au démarrage et volume après 1 an, 2 ans… </li></ul></ul><ul><li>Anticiper les use-cases et donc les optimisations </li></ul><ul><li>Mesurer les tests – pas uniquement OK/KO </li></ul>

×