Cache

Post on 18-Jun-2015

272 views 2 download

Transcript of Cache

LE CACHE

Dans tous ses états

Mathilde Lemée

Terracotta Engineer DuchessFR Founder

Mobile dev – Aetys.fr

Java developper

FluentLenium

HIT

MISS

TTITTL

Cache Aside

"Par ma foi ! Il y a plus de quarante ans que je dis de la prose sans que j'en susse rien. "  Molière ; Le

Bourgeois gentilhomme

Tom veut un cache simple pour améliorer l’accès aux données.

CACHE ASIDE

Database

Application

Cache

DAO

HIT !Get A MISS !Get B

Read B

PUT !Put B HIT !Get B

Tom aimerait garantir que son cache comporte

toujours les

données les plus récentes.

System of

Record

Cache as a s-o-r : Read through

Database

Application

Ehcache

Persistence layer

Get A

HIT !

Cache as a s-o-r : Read through

Database

Application

Ehcache

Persistence layer

Get A

MISS!

Cache as a s-o-r : Write through

Database

Application

Ehcache

Persistence layer

PUT !

Tom travaille pour un site de vente en ligne, l’important est de garantir les temps de réponses et tant pis si la donnée n’est mise à jour immédiatement dans la base.

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

Temps de

réponses

Write Through – Temps de réponses

Write Behind – Temps de réponses

Base de donnée

s

Write Through – Database load

Write Behind – Database load

Tom n’a pas la main sur les données

insérées/modifiées.

Paul travaille dans une

banque où à heure fixe, de

gros volumes de données sont mises à jours.

SCHEDULED

REFRESH

AHEAD

REFRESH

AHEAD

TTLTTR0

CHOISIR

CACHE ASIDE

VSREAD/WRITE THROUGH

Refresh Ahead/Scheduled Refresh

VSThe world

Refresh Ahead

VSScheduled

Refresh Ahead

Write Behind

VSWrite

Through

CONNAIT TES

DONNÉES

CACHE

CACHE

CACHE

Wikipedia

La scalabilité est la capacité qu’a

l’architecture

pour évoluer en cas de montée en charge si

nécessaire.

La scalabilité d’une

application est égale à la

scalabilité de son

composant le moins

scalable.

DISTRIBUTION

ET SI …

5

ET SI …

ET SI …

• Julie / 32 ans / 2 enfants / Paris• Paul / 27 ans / 4 enfants / Marseille• Thomas / 40 ans / 1 enfant / Paris

– Déménagement de Thomas sur MarseilleQui habite sur Paris ?

Consistence

LOCAL QUORUM

ONE

TWO

THREE QUORUM

ANYEACH QUORUM

CAP

• Consistency :• Availability : • Partionning

• Consistency + Available = RDBMS• Consistency + Partionning = BigTable / Hbase /

MongoDB / Redis• Available + Partionning =

Riak/Cassandra/CouchDB