advanced concept of caching

33
Mathilde Lemee Advanced Concepts of Caching @MathildeLemee - Aetys MILAN november 28 th /29 th 2014

Upload: codemotion

Post on 05-Jul-2015

143 views

Category:

Technology


3 download

DESCRIPTION

Mathilde Lemee - We all know that caching is a solution for developers to increase the performance of an application. We will start by presenting the JSR-107 terminology and the most important cache patterns. Some use cases will also be discussed and you will see how you can scale your cache from a single node to a multi node cluster (JSR 347). If you are a beginners in caching or if the words Cache Aside, Write-Behind, Read/Write Through doesn’t means anything to you or if you are interesting about high availabilty and scalable architecture, that this is the place to be!

TRANSCRIPT

Page 1: Advanced Concept of Caching

Mathilde Lemee

Advanced Concepts of Caching

@MathildeLemee - Aetys

MILAN november 28th/29th 2014

Page 2: Advanced Concept of Caching
Page 3: Advanced Concept of Caching
Page 4: Advanced Concept of Caching

HIT#codemotion @MathildeLemee

Page 5: Advanced Concept of Caching

MISS

#codemotion @MathildeLemee

Page 6: Advanced Concept of Caching

TTITTL

#codemotion @MathildeLemee

Page 7: Advanced Concept of Caching

Tom wants to improve data

access #codemotion @MathildeLemee

Page 8: Advanced Concept of Caching

CACHE ASIDE

Database

Application

Cache

DAO

HIT !Get A MISS !Get B

Read B

PUT !Put B HIT !Get B

#codemotion @MathildeLemee

Page 9: Advanced Concept of Caching

Tom wants that the cache always have

updated datas.

#codemotion @MathildeLemee

Page 10: Advanced Concept of Caching

System of

Record#codemotion @MathildeLemee

Page 11: Advanced Concept of Caching

Cache as a s-o-r : Read through

Database

Application

Ehcache

Persistence layer

Get A

HIT !

#codemotion @MathildeLemee

Page 12: Advanced Concept of Caching

Cache as a s-o-r : Read through

Database

Application

Ehcache

Persistence layer

Get AMISS!

#codemotion @MathildeLemee

Page 13: Advanced Concept of Caching

Cache as a s-o-r : Write through

Database

Application

Ehcache

Persistence layer

PUT !

#codemotion @MathildeLemee

Page 14: Advanced Concept of Caching

Tom works on a e-commerce website and want to have the faster data access.

#codemotion @MathildeLemee

Page 15: Advanced Concept of Caching

Cache as a s-o-r : Write Behind

Database

Application

Ehcache

Persistence layer

PUT !Put A

Write-behind thread

APUT !Put B

BPUT !Put C

CPUT !Put D

D

Get A B C D

Write A B C D

#codemotion @MathildeLemee

Page 16: Advanced Concept of Caching
Page 17: Advanced Concept of Caching

AccessTime

#codemotion @MathildeLemee

Page 18: Advanced Concept of Caching

Write Through Response times

#codemotion @MathildeLemee

Page 19: Advanced Concept of Caching

Write Behind Response Times

#codemotion @MathildeLemee

Page 20: Advanced Concept of Caching

Database

#codemotion @MathildeLemee

Page 21: Advanced Concept of Caching

Write Through – Database load

#codemotion @MathildeLemee

Page 22: Advanced Concept of Caching

Write Behind – Database load

#codemotion @MathildeLemee

Page 23: Advanced Concept of Caching

Tom doesn't control the

datas#codemotion @MathildeLemee

Page 24: Advanced Concept of Caching

REFRESH AHEAD

#codemotion @MathildeLemee

Page 25: Advanced Concept of Caching

TTLTTR0

#codemotion @MathildeLemee

Page 26: Advanced Concept of Caching

Paul work in a bank where at a fixed time datas

are updated#codemotion @MathildeLemee

Page 27: Advanced Concept of Caching

SCHEDULEDREFRESH

AHEAD#codemotion @MathildeLemee

Page 28: Advanced Concept of Caching

Choose#codemotion @MathildeLemee

Page 29: Advanced Concept of Caching

CACHE ASIDE VS

READ/WRITE THROUGH

#codemotion @MathildeLemee

Page 30: Advanced Concept of Caching

Refresh Ahead/Scheduled

Refresh VS

The world#codemotion @MathildeLemee

Page 31: Advanced Concept of Caching

Refresh AheadVS

Scheduled Refresh Ahead

#codemotion @MathildeLemee

Page 32: Advanced Concept of Caching

Write Behind VS

Write Through#codemotion @MathildeLemee

Page 33: Advanced Concept of Caching

KNOW YOUR

DATAS#codemotion @MathildeLemee