accenture caching patterns and strategies · media partner organizers top media partner general...
TRANSCRIPT
![Page 1: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/1.jpg)
Media Partner
Organizers
Top Media Partner
General Partner
Supporters
Daniel Rezny, Tomi VanekAccentureDigital in Space & Time
Caching Patterns and StrategiesOctober 17, 2014
![Page 2: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/2.jpg)
Copyright © 2014 Accenture All rights reserved. 2
Daniel Reznysenior technology architect
[email protected]@danielrezny
Tomi Vaneksenior software architect
[email protected]://tomi.vanek.sk
![Page 3: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/3.jpg)
www.sli.do/openslava
or just raise your hand!
To ask questions
3
![Page 4: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/4.jpg)
4
DataEverything what is DIGITAL is DATA.
![Page 5: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/5.jpg)
Copyright © 2014 Accenture All rights reserved. 5
Data = Identity & Content
Time
Vo
lum
e
Identity
Individual
Collective
Content
![Page 6: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/6.jpg)
Copyright © 2014 Accenture All rights reserved. 6
Data = Identity & Content
Time
Vo
lum
e
Identity
Individual
Collective
![Page 7: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/7.jpg)
Copyright © 2014 Accenture All rights reserved. 7
![Page 8: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/8.jpg)
Copyright © 2014 Accenture All rights reserved. 8
Good scalability
Transparency
Easy to maintain
Reduced load on source
Fast recovery after failover
![Page 9: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/9.jpg)
9
Cache Patterns
Read Through Cache
![Page 10: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/10.jpg)
Copyright © 2014 Accenture All rights reserved. 10
Read Through
SourceCacheClient 1
CacheClient 2
![Page 11: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/11.jpg)
Copyright © 2014 Accenture All rights reserved. 11
Client 1
Client 2
Source
Read Through
Cache
Cache
![Page 12: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/12.jpg)
Copyright © 2014 Accenture All rights reserved. 12
Client 1
Client 2
Source
Read Through
Cache
Cache
![Page 13: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/13.jpg)
Copyright © 2014 Accenture All rights reserved. 13
Client 1
Client 2
Source
Read Through
Cache
Cache
![Page 14: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/14.jpg)
Copyright © 2014 Accenture All rights reserved. 14
Client 1
Client 2
Source
Read Through
Cache
Cache
![Page 15: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/15.jpg)
Copyright © 2014 Accenture All rights reserved. 15
Client 1
Client 2
Source
Read Through
Cache
Cache
![Page 16: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/16.jpg)
Copyright © 2014 Accenture All rights reserved. 16
• Simple, transparent• Scalable• Faster response time by repeating requests• Decreases load to data source
• Read only• Only for repeating requests• For data with rare changes• Requests for unique data hit data source
![Page 17: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/17.jpg)
Copyright © 2014 Accenture All rights reserved. 17
Read Through usage examples
Content Delivery Network (CDN)
HTTP reverse proxy
Browser proxy
API management tools
Reusable data closer to consumption
![Page 18: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/18.jpg)
18
Cache Patterns
Write Through / Write behind
![Page 19: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/19.jpg)
Copyright © 2014 Accenture All rights reserved. 19
Cache
Cache
Write Through / Write behind
Client 1
Client 2
Destination
![Page 20: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/20.jpg)
Copyright © 2014 Accenture All rights reserved. 20
Client 1
Client 2
Destination
Write Through / Write behind
Cache
Cache
![Page 21: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/21.jpg)
Copyright © 2014 Accenture All rights reserved. 21
Client 1
Client 2
Destination
Write Through / Write behind
Cache
Cache
![Page 22: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/22.jpg)
Copyright © 2014 Accenture All rights reserved. 22
Client 1
Client 2
Destination
Write Through / Write behind
Cache
Cache
![Page 23: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/23.jpg)
Copyright © 2014 Accenture All rights reserved. 23
• Transparently hide destination systems• The only application’s source of data• Limit amount of requests to the source • Avoid cache misses• Database unknown for application• Split of responsibilities
• Does not improve writes speed• Possible data inconsistences• Cache transaction finish before database’
starts
![Page 24: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/24.jpg)
Copyright © 2014 Accenture All rights reserved. 24
Write Through usage examples
Additional application layer
API management tools
Content delivery network
Lot of writes and reads
![Page 25: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/25.jpg)
25
Cache Patterns
Pre-Fetch / Pre-Caching
![Page 26: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/26.jpg)
Copyright © 2014 Accenture All rights reserved. 26
Trigger
Cache
Pre-Fetch / Pre-Caching
Client Source
![Page 27: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/27.jpg)
Copyright © 2014 Accenture All rights reserved. 27
Trigger
Cache
Pre-Fetch / Pre-Caching
Client
Source
![Page 28: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/28.jpg)
Copyright © 2014 Accenture All rights reserved. 28
Trigger
Cache
Pre-Fetch / Pre-Caching
Client
Source
![Page 29: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/29.jpg)
Copyright © 2014 Accenture All rights reserved. 29
Trigger
Cache
Pre-Fetch / Pre-Caching
Client
Source
![Page 30: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/30.jpg)
Copyright © 2014 Accenture All rights reserved. 30
Trigger
Cache
Pre-Fetch / Pre-Caching
Client
Source
![Page 31: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/31.jpg)
Copyright © 2014 Accenture All rights reserved. 31
• Fast read of non-repetitive data• Prepare data for usage in advance• Transparent work "behind the scene"
• Increased load on resources (data source, network, cache size)
• Redundant data in cache• Complex trigger logic
![Page 32: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/32.jpg)
Copyright © 2014 Accenture All rights reserved. 32
Pre-Fetch usage examples
Master-detail pattern (search)
Asynchronous page refresh
Database pre-fetch
Guided navigation
Preload of web assets
Automated and manual pre-fetching
![Page 33: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/33.jpg)
33
Cache Patterns
Side Cache
![Page 34: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/34.jpg)
Copyright © 2014 Accenture All rights reserved. 34
Cache
Side Cache
SourceClientConsumer
![Page 35: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/35.jpg)
Copyright © 2014 Accenture All rights reserved. 35
Cache
Side Cache
SourceClientConsumer
![Page 36: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/36.jpg)
Copyright © 2014 Accenture All rights reserved. 36
Cache
Side Cache
SourceClientConsumer
![Page 37: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/37.jpg)
Copyright © 2014 Accenture All rights reserved. 37
Cache
Side Cache
SourceClientConsumer
![Page 38: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/38.jpg)
Copyright © 2014 Accenture All rights reserved. 38
• Lower load to the data source• Read Through emulation possible• Effectively loads data on demand • Data lifecycle management possible• Supporting pre-caching might be used
• Not fully transparent• Additional hops to the cache • Not good for static data
![Page 39: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/39.jpg)
Copyright © 2014 Accenture All rights reserved. 39
Side cache usage examples
When dynamic data used
Resource demand is not predictable
Local storage in browser
Large amount of data
![Page 40: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/40.jpg)
40
Cache Patterns
Publisher / Refresh Ahead
![Page 41: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/41.jpg)
Copyright © 2014 Accenture All rights reserved. 41
Index
Cache
Publisher / Refresh Ahead
Source
Client Publisher
![Page 42: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/42.jpg)
Copyright © 2014 Accenture All rights reserved. 42
Index
Cache
Publisher / Refresh Ahead
Source
Client Publisher
![Page 43: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/43.jpg)
Copyright © 2014 Accenture All rights reserved. 43
Index
Cache
Publisher / Refresh Ahead
Source
Client Publisher
![Page 44: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/44.jpg)
Copyright © 2014 Accenture All rights reserved. 44
Index
Cache
Publisher / Refresh Ahead
Source
Client Publisher
![Page 45: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/45.jpg)
Copyright © 2014 Accenture All rights reserved. 45
• Very high scalability• Controlled “freshness” of data• Distributed• Data source does not limit the scaling of the
application
• Read Only• Does not reflect frequent changes• Snapshot of data in history
![Page 46: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/46.jpg)
Copyright © 2014 Accenture All rights reserved. 46
Publisher usage examples
Good for static data
Optimized images for responsive design
Reports, graphs
Documents in PDF / EPub / Mobi
Stock amount in Eshop
![Page 47: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/47.jpg)
47
Data Distribution
![Page 48: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/48.jpg)
Copyright © 2014 Accenture All rights reserved. 48
CDN
• Static files and images
• Websites
Front-end
• HTTP requests and session data
• User’s data
Application logic
• Short-term code results
• External calls and sessions
Integration
• Request to external systems
• Responses from requests
Database layer
• SQL queries and parameters
• Connection strings and configurations
CDN
Frontend
Application Logic
Integration
Database Layer
![Page 49: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/49.jpg)
Copyright © 2014 Accenture All rights reserved. 49
PerformingApplication
DATA
Right caching pattern
Application improvements
![Page 50: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/50.jpg)
www.sli.do/openslava
Questions, Answers & Ratings
50
![Page 51: Accenture Caching Patterns and Strategies · Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching](https://reader035.vdocuments.mx/reader035/viewer/2022062508/605859e0f683b97a5e67f6f4/html5/thumbnails/51.jpg)
51
Daniel ReznyTomi Vanek