SlideShare a Scribd company logo
Media Partner 
Organizers 
Top Media Partner 
General Partner 
Supporters 
Daniel Rezny, Tomi Vanek 
Accenture 
Digital in Space & Time Caching Patterns and Strategies 
October 17, 2014
Copyright © 2014 Accenture All rights reserved. 
2 
Daniel Rezny 
senior technology architect 
daniel.rezny@accenture.com 
@danielrezny 
Tomi Vanek 
senior software architect 
tomas.vanek@accenture.com 
http://tomi.vanek.sk
3 
Data 
Everything what is DIGITAL is DATA.
Copyright © 2014 Accenture All rights reserved. 
4 
Data = Identity & Content 
Time 
Volume 
Identity 
Individual 
Collective 
Content
Copyright © 2014 Accenture All rights reserved. 
5 
Data = Identity & Content 
Time 
Volume 
Identity 
Individual 
Collective
Copyright © 2014 Accenture All rights reserved. 
6
Copyright © 2014 Accenture All rights reserved. 
7 
Good scalability 
Transparency 
Easy to maintain 
Reduced load on source 
Fast recovery after failover
8 
Cache Patterns Read Through Cache
Copyright © 2014 Accenture All rights reserved. 
9 
Read Through 
Source 
Cache 
Client 1 
Cache 
Client 2
Copyright © 2014 Accenture All rights reserved. 
10 
Client 1 
Client 2 
Source 
Read Through 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
11 
Client 1 
Client 2 
Source 
Read Through 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
12 
Client 1 
Client 2 
Source 
Read Through 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
13 
Client 1 
Client 2 
Source 
Read Through 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
14 
Client 1 
Client 2 
Source 
Read Through 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
15 
•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
Copyright © 2014 Accenture All rights reserved. 
16 
Read Through usage examples 
Content Delivery Network (CDN) 
HTTP reverse proxy 
Browser proxy 
API management tools 
Reusable data closer to consumption
17 
Cache Patterns Write Through / Write behind
Copyright © 2014 Accenture All rights reserved. 
18 
Cache 
Cache 
Write Through / Write behind 
Client 1 
Client 2 
Destination
Copyright © 2014 Accenture All rights reserved. 
19 
Client 1 
Client 2 
Destination 
Write Through / Write behind 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
20 
Client 1 
Client 2 
Destination 
Write Through / Write behind 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
21 
Client 1 
Client 2 
Destination 
Write Through / Write behind 
Cache 
Cache
Copyright © 2014 Accenture All rights reserved. 
22 
•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
Copyright © 2014 Accenture All rights reserved. 
23 
Write Through usage examples 
Additional application layer 
API management tools 
Content delivery network 
Lot of writes and reads
24 
Cache Patterns Pre-Fetch / Pre-Caching
Copyright © 2014 Accenture All rights reserved. 
25 
Trigger 
Cache 
Pre-Fetch / Pre-Caching 
Client 
Source
Copyright © 2014 Accenture All rights reserved. 
26 
Trigger 
Cache 
Pre-Fetch / Pre-Caching 
Client 
Source
Copyright © 2014 Accenture All rights reserved. 
27 
Trigger 
Cache 
Pre-Fetch / Pre-Caching 
Client 
Source
Copyright © 2014 Accenture All rights reserved. 
28 
Trigger 
Cache 
Pre-Fetch / Pre-Caching 
Client 
Source
Copyright © 2014 Accenture All rights reserved. 
29 
Trigger 
Cache 
Pre-Fetch / Pre-Caching 
Client 
Source
Copyright © 2014 Accenture All rights reserved. 
30 
•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
Copyright © 2014 Accenture All rights reserved. 
31 
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
32 
Cache Patterns Side Cache
Copyright © 2014 Accenture All rights reserved. 
33 
Cache 
Side Cache 
Source 
Client 
Consumer
Copyright © 2014 Accenture All rights reserved. 
34 
Cache 
Side Cache 
Source 
Client 
Consumer
Copyright © 2014 Accenture All rights reserved. 
35 
Cache 
Side Cache 
Source 
Client 
Consumer
Copyright © 2014 Accenture All rights reserved. 
36 
Cache 
Side Cache 
Source 
Client 
Consumer
Copyright © 2014 Accenture All rights reserved. 
37 
•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
Copyright © 2014 Accenture All rights reserved. 
38 
Side cache usage examples 
When dynamic data used 
Resource demand is not predictable 
Local storage in browser 
Large amount of data
39 
Cache Patterns Publisher / Refresh Ahead
Copyright © 2014 Accenture All rights reserved. 
40 
Index 
Cache 
Publisher / Refresh Ahead 
Source 
Client 
Publisher
Copyright © 2014 Accenture All rights reserved. 
41 
Index 
Cache 
Publisher / Refresh Ahead 
Source 
Client 
Publisher
Copyright © 2014 Accenture All rights reserved. 
42 
Index 
Cache 
Publisher / Refresh Ahead 
Source 
Client 
Publisher
Copyright © 2014 Accenture All rights reserved. 
43 
Index 
Cache 
Publisher / Refresh Ahead 
Source 
Client 
Publisher
Copyright © 2014 Accenture All rights reserved. 
44 
•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
Copyright © 2014 Accenture All rights reserved. 
45 
Publisher usage examples 
Good for static data 
Optimized images for responsive design 
Reports, graphs 
Documents in PDF / EPub / Mobi 
Stock amount in Eshop
46 
Data Distribution
Copyright © 2014 Accenture All rights reserved. 
47 
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
Copyright © 2014 Accenture All rights reserved. 
48 
Performing 
Application 
DATA 
Right caching pattern 
Application improvements
49 
Daniel Rezny Tomi Vanek

More Related Content

What's hot

Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
Security needs in Hadoop’s Current and Future – How Apache Ranger can help?Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
DataWorks Summit
 
An Approach for Multi-Tenancy Through Apache Knox
An Approach for Multi-Tenancy Through Apache KnoxAn Approach for Multi-Tenancy Through Apache Knox
An Approach for Multi-Tenancy Through Apache Knox
DataWorks Summit/Hadoop Summit
 
Risk Management for Data: Secured and Governed
Risk Management for Data: Secured and GovernedRisk Management for Data: Secured and Governed
Risk Management for Data: Secured and Governed
Cloudera, Inc.
 
Seeking Cybersecurity--Strategies to Protect the Data
Seeking Cybersecurity--Strategies to Protect the DataSeeking Cybersecurity--Strategies to Protect the Data
Seeking Cybersecurity--Strategies to Protect the Data
Cloudera, Inc.
 
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Hortonworks
 
History of Privacera
History of PrivaceraHistory of Privacera
History of Privacera
Privacera
 
Hadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the expertsHadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the experts
DataWorks Summit/Hadoop Summit
 
Securing Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments Using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
DataWorks Summit
 
Open Source Security Tools for Big Data
Open Source Security Tools for Big DataOpen Source Security Tools for Big Data
Open Source Security Tools for Big Data
Rommel Garcia
 
Multi-Tenant Operations with Cloudera 5.7 & BT
Multi-Tenant Operations with Cloudera 5.7 & BTMulti-Tenant Operations with Cloudera 5.7 & BT
Multi-Tenant Operations with Cloudera 5.7 & BT
Cloudera, Inc.
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
DataWorks Summit
 
Hadoop Security: Overview
Hadoop Security: OverviewHadoop Security: Overview
Hadoop Security: Overview
Cloudera, Inc.
 
Kafka Security
Kafka SecurityKafka Security
Hadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, FutureHadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, Future
Uwe Printz
 
Hybrid Data Platform
Hybrid Data Platform Hybrid Data Platform
Hybrid Data Platform
DataWorks Summit/Hadoop Summit
 
Apache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army KnifeApache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army Knife
DataWorks Summit
 
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for CybersecurityCloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
Cloudera, Inc.
 
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
DataWorks Summit
 
What the Enterprise Requires - Business Continuity and Visibility
What the Enterprise Requires - Business Continuity and VisibilityWhat the Enterprise Requires - Business Continuity and Visibility
What the Enterprise Requires - Business Continuity and Visibility
Cloudera, Inc.
 
Hadoop security @ Philly Hadoop Meetup May 2015
Hadoop security @ Philly Hadoop Meetup May 2015Hadoop security @ Philly Hadoop Meetup May 2015
Hadoop security @ Philly Hadoop Meetup May 2015
Shravan (Sean) Pabba
 

What's hot (20)

Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
Security needs in Hadoop’s Current and Future – How Apache Ranger can help?Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
Security needs in Hadoop’s Current and Future – How Apache Ranger can help?
 
An Approach for Multi-Tenancy Through Apache Knox
An Approach for Multi-Tenancy Through Apache KnoxAn Approach for Multi-Tenancy Through Apache Knox
An Approach for Multi-Tenancy Through Apache Knox
 
Risk Management for Data: Secured and Governed
Risk Management for Data: Secured and GovernedRisk Management for Data: Secured and Governed
Risk Management for Data: Secured and Governed
 
Seeking Cybersecurity--Strategies to Protect the Data
Seeking Cybersecurity--Strategies to Protect the DataSeeking Cybersecurity--Strategies to Protect the Data
Seeking Cybersecurity--Strategies to Protect the Data
 
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
Distilling Hadoop Patterns of Use and How You Can Use Them for Your Big Data ...
 
History of Privacera
History of PrivaceraHistory of Privacera
History of Privacera
 
Hadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the expertsHadoop in the Cloud - The what, why and how from the experts
Hadoop in the Cloud - The what, why and how from the experts
 
Securing Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments Using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments Using Apache Ranger
 
Open Source Security Tools for Big Data
Open Source Security Tools for Big DataOpen Source Security Tools for Big Data
Open Source Security Tools for Big Data
 
Multi-Tenant Operations with Cloudera 5.7 & BT
Multi-Tenant Operations with Cloudera 5.7 & BTMulti-Tenant Operations with Cloudera 5.7 & BT
Multi-Tenant Operations with Cloudera 5.7 & BT
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
 
Hadoop Security: Overview
Hadoop Security: OverviewHadoop Security: Overview
Hadoop Security: Overview
 
Kafka Security
Kafka SecurityKafka Security
Kafka Security
 
Hadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, FutureHadoop & Security - Past, Present, Future
Hadoop & Security - Past, Present, Future
 
Hybrid Data Platform
Hybrid Data Platform Hybrid Data Platform
Hybrid Data Platform
 
Apache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army KnifeApache Knox - Hadoop Security Swiss Army Knife
Apache Knox - Hadoop Security Swiss Army Knife
 
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for CybersecurityCloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
Cloudera Federal Forum 2014: Hadoop-Powered Solutions for Cybersecurity
 
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
Securing Enterprise Healthcare Big Data by the Combination of Knox/F5, Ranger...
 
What the Enterprise Requires - Business Continuity and Visibility
What the Enterprise Requires - Business Continuity and VisibilityWhat the Enterprise Requires - Business Continuity and Visibility
What the Enterprise Requires - Business Continuity and Visibility
 
Hadoop security @ Philly Hadoop Meetup May 2015
Hadoop security @ Philly Hadoop Meetup May 2015Hadoop security @ Philly Hadoop Meetup May 2015
Hadoop security @ Philly Hadoop Meetup May 2015
 

Viewers also liked

Evaluation question 3
Evaluation question 3Evaluation question 3
Evaluation question 3
TLeon11
 
Like media portfolio stuff
Like media portfolio stuffLike media portfolio stuff
Like media portfolio stuff
TLeon11
 
Media analysis
Media analysisMedia analysis
Media analysis
TLeon11
 
Media poster drafting
Media poster draftingMedia poster drafting
Media poster drafting
TLeon11
 
Java coding pitfalls
Java coding pitfallsJava coding pitfalls
Java coding pitfalls
tomi vanek
 
Final stuff
Final stuffFinal stuff
Final stuff
TLeon11
 
Media analysis
Media analysisMedia analysis
Media analysis
TLeon11
 
Classification of Web Applications
Classification of Web ApplicationsClassification of Web Applications
Classification of Web Applications
tomi vanek
 
JavaScript code generator with Yeoman
JavaScript code generator with YeomanJavaScript code generator with Yeoman
JavaScript code generator with Yeoman
tomi vanek
 
Media magazine
Media magazineMedia magazine
Media magazine
TLeon11
 
василь стефаник камінний хрест
василь стефаник камінний хрествасиль стефаник камінний хрест
василь стефаник камінний хрестRoman_xD
 
Case study of artists
Case study of artistsCase study of artists
Case study of artists
TLeon11
 
Poster and teaser poster analysis
Poster and teaser poster analysisPoster and teaser poster analysis
Poster and teaser poster analysis
TLeon11
 
Application patterns
Application patternsApplication patterns
Application patterns
tomi vanek
 
Spring Batch in Code - simple DB to DB batch applicaiton
Spring Batch in Code - simple DB to DB batch applicaitonSpring Batch in Code - simple DB to DB batch applicaiton
Spring Batch in Code - simple DB to DB batch applicaiton
tomi vanek
 
The Twelve Factor Apps
The Twelve Factor AppsThe Twelve Factor Apps
The Twelve Factor Apps
tomi vanek
 
життєвий і творчий шлях в.стефаника
життєвий і творчий шлях в.стефаникажиттєвий і творчий шлях в.стефаника
життєвий і творчий шлях в.стефаникаRoman_xD
 

Viewers also liked (17)

Evaluation question 3
Evaluation question 3Evaluation question 3
Evaluation question 3
 
Like media portfolio stuff
Like media portfolio stuffLike media portfolio stuff
Like media portfolio stuff
 
Media analysis
Media analysisMedia analysis
Media analysis
 
Media poster drafting
Media poster draftingMedia poster drafting
Media poster drafting
 
Java coding pitfalls
Java coding pitfallsJava coding pitfalls
Java coding pitfalls
 
Final stuff
Final stuffFinal stuff
Final stuff
 
Media analysis
Media analysisMedia analysis
Media analysis
 
Classification of Web Applications
Classification of Web ApplicationsClassification of Web Applications
Classification of Web Applications
 
JavaScript code generator with Yeoman
JavaScript code generator with YeomanJavaScript code generator with Yeoman
JavaScript code generator with Yeoman
 
Media magazine
Media magazineMedia magazine
Media magazine
 
василь стефаник камінний хрест
василь стефаник камінний хрествасиль стефаник камінний хрест
василь стефаник камінний хрест
 
Case study of artists
Case study of artistsCase study of artists
Case study of artists
 
Poster and teaser poster analysis
Poster and teaser poster analysisPoster and teaser poster analysis
Poster and teaser poster analysis
 
Application patterns
Application patternsApplication patterns
Application patterns
 
Spring Batch in Code - simple DB to DB batch applicaiton
Spring Batch in Code - simple DB to DB batch applicaitonSpring Batch in Code - simple DB to DB batch applicaiton
Spring Batch in Code - simple DB to DB batch applicaiton
 
The Twelve Factor Apps
The Twelve Factor AppsThe Twelve Factor Apps
The Twelve Factor Apps
 
життєвий і творчий шлях в.стефаника
життєвий і творчий шлях в.стефаникажиттєвий і творчий шлях в.стефаника
життєвий і творчий шлях в.стефаника
 

Similar to Caching Patterns

Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorialStrata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
hadooparchbook
 
Couchbase usage at Symantec
Couchbase usage at SymantecCouchbase usage at Symantec
Couchbase usage at Symantec
gauravchandna
 
Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014
Joelith
 
Hadoop Application Architectures tutorial at Big DataService 2015
Hadoop Application Architectures tutorial at Big DataService 2015Hadoop Application Architectures tutorial at Big DataService 2015
Hadoop Application Architectures tutorial at Big DataService 2015
hadooparchbook
 
Architecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an exampleArchitecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an example
hadooparchbook
 
Architectural considerations for Hadoop Applications
Architectural considerations for Hadoop ApplicationsArchitectural considerations for Hadoop Applications
Architectural considerations for Hadoop Applications
hadooparchbook
 
Creating An Enterprise Storage Strategy for Healthcare
Creating An Enterprise Storage Strategy for Healthcare  Creating An Enterprise Storage Strategy for Healthcare
Creating An Enterprise Storage Strategy for Healthcare
DataCore Software
 
Strata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applicationsStrata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applications
hadooparchbook
 
Hadoop Application Architectures tutorial - Strata London
Hadoop Application Architectures tutorial - Strata LondonHadoop Application Architectures tutorial - Strata London
Hadoop Application Architectures tutorial - Strata London
hadooparchbook
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
hadooparchbook
 
大数据数据治理及数据安全
大数据数据治理及数据安全大数据数据治理及数据安全
大数据数据治理及数据安全
Jianwei Li
 
Intuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with SearchIntuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with Search
Cloudera, Inc.
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
hadooparchbook
 
Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015
Cloudera, Inc.
 
IW14 Session: webMethods World
IW14 Session: webMethods WorldIW14 Session: webMethods World
IW14 Session: webMethods World
Software AG
 
Spark+flume seattle
Spark+flume seattleSpark+flume seattle
Spark+flume seattle
Hari Shreedharan
 
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
HostedbyConfluent
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
DataStax Academy
 
The Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data HubThe Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data Hub
Cloudera, Inc.
 
Simplifying Real-Time Architectures for IoT with Apache Kudu
Simplifying Real-Time Architectures for IoT with Apache KuduSimplifying Real-Time Architectures for IoT with Apache Kudu
Simplifying Real-Time Architectures for IoT with Apache Kudu
Cloudera, Inc.
 

Similar to Caching Patterns (20)

Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorialStrata NY 2014 - Architectural considerations for Hadoop applications tutorial
Strata NY 2014 - Architectural considerations for Hadoop applications tutorial
 
Couchbase usage at Symantec
Couchbase usage at SymantecCouchbase usage at Symantec
Couchbase usage at Symantec
 
Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014Coherence Overview - OFM Canberra July 2014
Coherence Overview - OFM Canberra July 2014
 
Hadoop Application Architectures tutorial at Big DataService 2015
Hadoop Application Architectures tutorial at Big DataService 2015Hadoop Application Architectures tutorial at Big DataService 2015
Hadoop Application Architectures tutorial at Big DataService 2015
 
Architecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an exampleArchitecting application with Hadoop - using clickstream analytics as an example
Architecting application with Hadoop - using clickstream analytics as an example
 
Architectural considerations for Hadoop Applications
Architectural considerations for Hadoop ApplicationsArchitectural considerations for Hadoop Applications
Architectural considerations for Hadoop Applications
 
Creating An Enterprise Storage Strategy for Healthcare
Creating An Enterprise Storage Strategy for Healthcare  Creating An Enterprise Storage Strategy for Healthcare
Creating An Enterprise Storage Strategy for Healthcare
 
Strata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applicationsStrata EU tutorial - Architectural considerations for hadoop applications
Strata EU tutorial - Architectural considerations for hadoop applications
 
Hadoop Application Architectures tutorial - Strata London
Hadoop Application Architectures tutorial - Strata LondonHadoop Application Architectures tutorial - Strata London
Hadoop Application Architectures tutorial - Strata London
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
 
大数据数据治理及数据安全
大数据数据治理及数据安全大数据数据治理及数据安全
大数据数据治理及数据安全
 
Intuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with SearchIntuitive Real-Time Analytics with Search
Intuitive Real-Time Analytics with Search
 
Application Architectures with Hadoop
Application Architectures with HadoopApplication Architectures with Hadoop
Application Architectures with Hadoop
 
Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015Application Architectures with Hadoop | Data Day Texas 2015
Application Architectures with Hadoop | Data Day Texas 2015
 
IW14 Session: webMethods World
IW14 Session: webMethods WorldIW14 Session: webMethods World
IW14 Session: webMethods World
 
Spark+flume seattle
Spark+flume seattleSpark+flume seattle
Spark+flume seattle
 
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
Unbundling the Modern Streaming Stack With Dunith Dhanushka | Current 2022
 
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
Cassandra Summit 2014: Internet of Complex Things Analytics with Apache Cassa...
 
The Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data HubThe Future of Data Management: The Enterprise Data Hub
The Future of Data Management: The Enterprise Data Hub
 
Simplifying Real-Time Architectures for IoT with Apache Kudu
Simplifying Real-Time Architectures for IoT with Apache KuduSimplifying Real-Time Architectures for IoT with Apache Kudu
Simplifying Real-Time Architectures for IoT with Apache Kudu
 

Recently uploaded

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
Remote DBA Services
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
ICS
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
timtebeek1
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Undress Baby
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
Green Software Development
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
Aftab Hussain
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Łukasz Chruściel
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
Grant Fritchey
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
Łukasz Chruściel
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
Green Software Development
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
Octavian Nadolu
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
Aftab Hussain
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
lorraineandreiamcidl
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
Peter Muessig
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
Philip Schwarz
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
Gerardo Pardo-Castellote
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
Neo4j
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
Peter Muessig
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
Sven Peters
 

Recently uploaded (20)

Oracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptxOracle Database 19c New Features for DBAs and Developers.pptx
Oracle Database 19c New Features for DBAs and Developers.pptx
 
Webinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for EmbeddedWebinar On-Demand: Using Flutter for Embedded
Webinar On-Demand: Using Flutter for Embedded
 
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdfAutomated software refactoring with OpenRewrite and Generative AI.pptx.pdf
Automated software refactoring with OpenRewrite and Generative AI.pptx.pdf
 
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdfRevolutionizing Visual Effects Mastering AI Face Swaps.pdf
Revolutionizing Visual Effects Mastering AI Face Swaps.pdf
 
Energy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina JonuziEnergy consumption of Database Management - Florina Jonuzi
Energy consumption of Database Management - Florina Jonuzi
 
Graspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code AnalysisGraspan: A Big Data System for Big Code Analysis
Graspan: A Big Data System for Big Code Analysis
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️Need for Speed: Removing speed bumps from your Symfony projects ⚡️
Need for Speed: Removing speed bumps from your Symfony projects ⚡️
 
Using Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query PerformanceUsing Query Store in Azure PostgreSQL to Understand Query Performance
Using Query Store in Azure PostgreSQL to Understand Query Performance
 
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf2024 eCommerceDays Toulouse - Sylius 2.0.pdf
2024 eCommerceDays Toulouse - Sylius 2.0.pdf
 
GreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-JurisicGreenCode-A-VSCode-Plugin--Dario-Jurisic
GreenCode-A-VSCode-Plugin--Dario-Jurisic
 
Artificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension FunctionsArtificia Intellicence and XPath Extension Functions
Artificia Intellicence and XPath Extension Functions
 
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of CodeA Study of Variable-Role-based Feature Enrichment in Neural Models of Code
A Study of Variable-Role-based Feature Enrichment in Neural Models of Code
 
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptxLORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
LORRAINE ANDREI_LEQUIGAN_HOW TO USE WHATSAPP.pptx
 
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling ExtensionsUI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
UI5con 2024 - Boost Your Development Experience with UI5 Tooling Extensions
 
Hand Rolled Applicative User Validation Code Kata
Hand Rolled Applicative User ValidationCode KataHand Rolled Applicative User ValidationCode Kata
Hand Rolled Applicative User Validation Code Kata
 
DDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systemsDDS-Security 1.2 - What's New? Stronger security for long-running systems
DDS-Security 1.2 - What's New? Stronger security for long-running systems
 
GraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph TechnologyGraphSummit Paris - The art of the possible with Graph Technology
GraphSummit Paris - The art of the possible with Graph Technology
 
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s EcosystemUI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
UI5con 2024 - Keynote: Latest News about UI5 and it’s Ecosystem
 
Microservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we workMicroservice Teams - How the cloud changes the way we work
Microservice Teams - How the cloud changes the way we work
 

Caching Patterns

  • 1. Media Partner Organizers Top Media Partner General Partner Supporters Daniel Rezny, Tomi Vanek Accenture Digital in Space & Time Caching Patterns and Strategies October 17, 2014
  • 2. Copyright © 2014 Accenture All rights reserved. 2 Daniel Rezny senior technology architect daniel.rezny@accenture.com @danielrezny Tomi Vanek senior software architect tomas.vanek@accenture.com http://tomi.vanek.sk
  • 3. 3 Data Everything what is DIGITAL is DATA.
  • 4. Copyright © 2014 Accenture All rights reserved. 4 Data = Identity & Content Time Volume Identity Individual Collective Content
  • 5. Copyright © 2014 Accenture All rights reserved. 5 Data = Identity & Content Time Volume Identity Individual Collective
  • 6. Copyright © 2014 Accenture All rights reserved. 6
  • 7. Copyright © 2014 Accenture All rights reserved. 7 Good scalability Transparency Easy to maintain Reduced load on source Fast recovery after failover
  • 8. 8 Cache Patterns Read Through Cache
  • 9. Copyright © 2014 Accenture All rights reserved. 9 Read Through Source Cache Client 1 Cache Client 2
  • 10. Copyright © 2014 Accenture All rights reserved. 10 Client 1 Client 2 Source Read Through Cache Cache
  • 11. Copyright © 2014 Accenture All rights reserved. 11 Client 1 Client 2 Source Read Through Cache Cache
  • 12. Copyright © 2014 Accenture All rights reserved. 12 Client 1 Client 2 Source Read Through Cache Cache
  • 13. Copyright © 2014 Accenture All rights reserved. 13 Client 1 Client 2 Source Read Through Cache Cache
  • 14. Copyright © 2014 Accenture All rights reserved. 14 Client 1 Client 2 Source Read Through Cache Cache
  • 15. Copyright © 2014 Accenture All rights reserved. 15 •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
  • 16. Copyright © 2014 Accenture All rights reserved. 16 Read Through usage examples Content Delivery Network (CDN) HTTP reverse proxy Browser proxy API management tools Reusable data closer to consumption
  • 17. 17 Cache Patterns Write Through / Write behind
  • 18. Copyright © 2014 Accenture All rights reserved. 18 Cache Cache Write Through / Write behind Client 1 Client 2 Destination
  • 19. Copyright © 2014 Accenture All rights reserved. 19 Client 1 Client 2 Destination Write Through / Write behind Cache Cache
  • 20. Copyright © 2014 Accenture All rights reserved. 20 Client 1 Client 2 Destination Write Through / Write behind Cache Cache
  • 21. Copyright © 2014 Accenture All rights reserved. 21 Client 1 Client 2 Destination Write Through / Write behind Cache Cache
  • 22. Copyright © 2014 Accenture All rights reserved. 22 •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
  • 23. Copyright © 2014 Accenture All rights reserved. 23 Write Through usage examples Additional application layer API management tools Content delivery network Lot of writes and reads
  • 24. 24 Cache Patterns Pre-Fetch / Pre-Caching
  • 25. Copyright © 2014 Accenture All rights reserved. 25 Trigger Cache Pre-Fetch / Pre-Caching Client Source
  • 26. Copyright © 2014 Accenture All rights reserved. 26 Trigger Cache Pre-Fetch / Pre-Caching Client Source
  • 27. Copyright © 2014 Accenture All rights reserved. 27 Trigger Cache Pre-Fetch / Pre-Caching Client Source
  • 28. Copyright © 2014 Accenture All rights reserved. 28 Trigger Cache Pre-Fetch / Pre-Caching Client Source
  • 29. Copyright © 2014 Accenture All rights reserved. 29 Trigger Cache Pre-Fetch / Pre-Caching Client Source
  • 30. Copyright © 2014 Accenture All rights reserved. 30 •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
  • 31. Copyright © 2014 Accenture All rights reserved. 31 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
  • 32. 32 Cache Patterns Side Cache
  • 33. Copyright © 2014 Accenture All rights reserved. 33 Cache Side Cache Source Client Consumer
  • 34. Copyright © 2014 Accenture All rights reserved. 34 Cache Side Cache Source Client Consumer
  • 35. Copyright © 2014 Accenture All rights reserved. 35 Cache Side Cache Source Client Consumer
  • 36. Copyright © 2014 Accenture All rights reserved. 36 Cache Side Cache Source Client Consumer
  • 37. Copyright © 2014 Accenture All rights reserved. 37 •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
  • 38. Copyright © 2014 Accenture All rights reserved. 38 Side cache usage examples When dynamic data used Resource demand is not predictable Local storage in browser Large amount of data
  • 39. 39 Cache Patterns Publisher / Refresh Ahead
  • 40. Copyright © 2014 Accenture All rights reserved. 40 Index Cache Publisher / Refresh Ahead Source Client Publisher
  • 41. Copyright © 2014 Accenture All rights reserved. 41 Index Cache Publisher / Refresh Ahead Source Client Publisher
  • 42. Copyright © 2014 Accenture All rights reserved. 42 Index Cache Publisher / Refresh Ahead Source Client Publisher
  • 43. Copyright © 2014 Accenture All rights reserved. 43 Index Cache Publisher / Refresh Ahead Source Client Publisher
  • 44. Copyright © 2014 Accenture All rights reserved. 44 •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
  • 45. Copyright © 2014 Accenture All rights reserved. 45 Publisher usage examples Good for static data Optimized images for responsive design Reports, graphs Documents in PDF / EPub / Mobi Stock amount in Eshop
  • 47. Copyright © 2014 Accenture All rights reserved. 47 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
  • 48. Copyright © 2014 Accenture All rights reserved. 48 Performing Application DATA Right caching pattern Application improvements
  • 49. 49 Daniel Rezny Tomi Vanek