SlideShare una empresa de Scribd logo
1 de 31
Descargar para leer sin conexión
Overview of the Ehcache

       2011.12.02
        chois79
Contents
•   About Caches
•   Why caching works
•   Will an Application Benefit from Caching?
•   How much will an application speed up?
•   About Ehcache
•   Features of Ehcache
•   Key Concepts of Ehcache
•   Using Ehcache
•   Distributed Ehcache Architecture
•   References
About Caches
• In Wiktionary
   – A store of things that will be required in future and can be
     retrieved rapidly

• In computer science
   – A collection of temporary data which either duplicates data
     located elsewhere of is the result of a computation

   – The data can be repeatedly accessed inexpensively
Why caching works
•   Locality of Reference
     – Data that is near other data or has just been used is more likely to be used
        again

•   The Long Tail


                                          A small number of items may make up the
                                          bulk of sales.          – Chris Anderson



     – One form of a Power Law distribution is the Pareto distribution (80:20 rule)
     – IF 20% of objects are used 80% of the time and a way can be found to
        reduce the cost of obtaining that 20%, then system performance will improve
Will an Application Benefit from Caching?
          CPU bound Application
• The time taken principally depends on the speed of the CPU
  and main memory
• Speeding up
   – Improving algorithm performance
   – Parallelizing the computations across multiple CPUs or multiple
     machines
   – Upgrading the CPU speed

• The role of caching
   – Temporarily store computations that may be reused again
       • Ex) DB Cache, Large web pages that have a high rendering cost.
Will an Application Benefit from Caching?
          I/O bound Application
• The time taken to complete a computation depends principally
  on the rate at which data can be obtained
• Speeding up
   – Hard disks are speeding up by using their own caching of blocks into
     memory
       • There is no Moore’s law for hard disk.

   – Increase the network bandwidth

• The role of cache
   – Web page caching, for pages generated from databases
   – Data Access object caching
Will an Application Benefit from Caching?
      Increased Application Scalability

• Data bases can do 100 expensive queries per second
  – Caching may be able to reduce the workload required
How much will an application speed up?
           (Amdahl’s Law)

• Depend on a multitude of factors
  – How many times a cached piece of data can and is
    reduced by the application

  – The proportion of the response time that is alleviated by
    caching

• Amdahl’s Law
                 P: Proportion speed up
                 S: Speed up
Amdahl’s Law Example
(Speed up from a Database Level Cache)
Un-cached page time: 2 seconds
Database time: 1.5 seconds
Cache retrieval time: 2ms
Proportion: 75% (2/1.5)
The expected system speedup is thus:
     1 / (( 1 – 0.75) + 0.75 / (1500/2))
    = 1 / (0.25 + 0.75/750)
    = 3.98 times system speedup
About Ehcache
•   Open source, standards-based cache used to boost performance

•   Basically, based on in-process
•   Scale from in-process with one more nodes through to a mixed in-
    process/out-of-process configuration with terabyte-sized caches
•   For applications needing a coherent distributed cache, Ehcache uses
    the open source Terracotta Server Array

•   Java-based Cache, Available under an Apache 2 license

•   The Wikimedia Foundation use Ehcache to improve the performance
    of its wiki projects
Features of Ehcache(1/2)
•   Fast and Light Weight
     – Fast, Simple API
     – Small foot print: Ehcache 2.2.3 is 668 kb making it convenient to package
     – Minimal dependencies: only dependency on SLF4J

•   Scalable
     – Provides Memory and Disk store for scalability into gigabytes
     – Scalable to hundreds of nodes with the Terracotta Server Array

•   Flexible
     – Supports Object or Serializable caching
     – Provides LRU, LFU and FIFO cache eviction policies
     – Provides Memory and Disk stores
Features of Ehcache(2/2)
•   Standards Based
     –   Full implementation of JSR107 JCACHE API

•   Application Persistence
     –   Persistent disk store which stores data between VM restarts

•   JMX Enable
•   Distributed Caching
     –   Clustered caching via Terracotta
     –   Replicated caching via RMI, JGroups, or JMS

•   Cache Server
     –   RESTful, SOAP cache Server

•   Search
     –   Standalone and distributed search using a fluent query language
Key Concepts of Ehcache
                     Key Classes
•   CacheManager
    – Manages caches

•   Ehcache
    – All caches implement the Ehcache interface
    – A cache has a name and attributes
    – Cache elements are stored in the memory store, optionally the also overflow
       to a disk store

•   Element
    – An atomic entry in a cache
    – Has key and value
    – Put into and removed from caches
Key Concepts of Ehcache
            Usage patterns: Cache-aside
•   Application code use the cache directly
•   Order
     – Application code consult the cache first
     – If cache contains the data, then return the data directly
     – Otherwise, the application cod must fetch the data from the system-of-record,
        store the data in the cache, then return.




     – 0
Key Concepts of Ehcache
           Usage patterns: Read-through
•   Mimics the structure of the cache-aside patterns when reading data
•   The difference
     – Must implement the CacheEntryFactory interface to instruct the cache how to
       read objects on a cache miss
     – Must wrap the Ehcache instance with an instance of SelfPopulationCache




     – 4
Key Concepts of Ehcache
    Usage patterns: Write-through and behind
•   Mimics the structure of the cache-aside pattern when data write
•   The difference
     –   Must implement the CacheWriter interface and configure the cache for write-through or write
         behind
     –   A write-through cache writes data to the system-of-record in the same thread of execution
     –   A write-behind queues the data for write at a later time




     –   d
Key Concepts of Ehcache
         Usage patterns: Cache-as-sor
• Delegate SOR reading and writing actives to the cache
• To implement, use a combination of the following patterns
   – Read-through
   – Write-through or write-behind

• Advantages
   – Less cluttered application code
   – Easily choose between write-through or write-behind strategies
   – Allow the cache to solve the “thundering-herd” problem

• Disadvantages
   – Less directly visible code-path
Key Concepts of Ehcache
         Storage Options: Memory Store
•   Suitable Element Types
     – All Elements are suitable for placement in the Memory Store

•   Characteristics
     – Thread safe for use by multiple concurrent threads
     – Backed By LinkedHashMap (Jdk 1.4 later)
          •   LinkedHashMap: Hash table and linked list implementation of the Map interface

     – Fast

•   Memory Use, Spooling and Expiry Strategy
     – Least Recently Used (LRU): default
     – Least frequently Used (LFU)
     – First In First Out (FIFO)
Key Concepts of Ehcache
    Storage Options: Big-Memory Store
•   Pure java product from Terracotta that permits caches to use an additional type of
    memory store outside the object heap. (Packaged for use in Enterprise Ehcache)
     –   Not subject to Java GC
     –   100 times faster than Disk-Store
     –   Allows very large caches to be created(tested up to 350GB)

•   Two implementations
     –   Only Serializable cache keys and values can be placed similar to Disk Store
     –   Serializaion and deserialization take place putting and getting from the store
           •   Around 10 times slower than Memory Store
           •   The memory store holds the hottest subset of data from the off-heap store, already in deserialized form

•   Suitable Element Types
     –   Only Elements which are serializable can be placed in the off-heap
     –   Any non serializable Elements will be removed and WARNING level log message emitted
Key Concepts of Ehcache
               Storage Options: Disk Store
• Disk Store are optional
• Suitable Element Type
     – Only Elements which are serializable can be placed in the off-heap
     – Any non serializable Elements will be removed and WARNING level
         log message emitted

• Eviction
     –   The LFU algorithm is used and it is not configurable or changeable

•   Persistence
     –   Controlled by the disk persistent configuration
     –   If false or onmitted, disk store will not presit between CacheManager restarts
Key Concepts of Ehcache
                      Replicated Caching
•   Ehcache has a pluggable cache replication scheme
     –   RMI, JGroups, JMS

•   Using a Cache Server
     –   To achieve shared data, all JVMs read to and write from a Cache Server

•   Notification Strategies
     –   If the Element is not available anywhere else then the element it self shoud from the pay load
         of the notification




     –   D
Key Concepts of Ehcache
                       Search APIs
•   Allows you to execute arbitrarily complex queries either a standalone
    cache or a Terracotta clustered cache with pre-built indexes
•   Searchable attributes may be extracted from both key and vales
•   Attribute Extractors
     – Attributes are extracted from keys or values
     – This is done during search or, if using Distributed Ehcache on put() into the
        cache using AttributeExtractors
     – Supported types
         •   Boolean, Byte, Character, Double, Float, Integer, Long, Short, String, Enum, java.util.Date,
             Java.sql.Date
Using Ehcache
           General-Purpose Caching
• Local Cache
• Configuration
   – Place the Ehcache jar into your class-path
   – Configure ehcache.xml and place it in your class-path
   – Optionally, configure an appropriate logging level

                                                  DB

                        Local
         Application                           Web
                       Ehcache
                                              Server

   – d                                         Web
                                              Server
Using Ehcache
                     Cache Server
• Support for RESTful and SOAP APIs
• Redundant, Scalable with client hash-based routing
   – The client can be implemented in any language
   – The client must work out a partitioning scheme




   – s
Using Ehcache
    Integrate with other solutions
• Hivernate

• Java EE Servlet Caching

• JCache style caching

• Spring, cocoon, Acegi and other frameworks
Distributed Ehcache Architecture
                   (Logical View)
•   Distributed Ehcache combines an in-process Ehcache with the Terracotta Server Array




•   The data is split between an Ehcache node(L1) and the Terracotta Server Array(L2)
     –   The L1 can hold as much data as is comfortable

     –   The L2 always a complete copy of all cache data

     –   The L1 acts as a hot-set of recently used data
Distributed Ehcache Architecture
             (Ehcache topologies)
•   Standalone
     – The cache data set is held in the application node
     – Any other application nodes are independent with no communication
        between them

•   Distributed Ehcache
     – The data is held in a Terracotta server Array with a subset of recently used
        data held in each application cache node

•   Replicated
     – The cached data set is held in each application node and data is copied or
        invalidated across the cluster without locking
     – Replication can be either asynchronous or synchronous
     – The only consistency mode available is weak consistency
Distributed Ehcache Architecture
                (Network View)
•   From a network topology point of view Distributed Ehcache consist of
     – Ehcache node(L1)
          •   The Ehcache library is present in each app
          •   An Ehcache instance, running in-process sits in each JVM

     – Terracotta Server Array(L2)
          •   Each Ehcache instance maintains a connection with one or more Terracotta Servers
          •   Consistent hashing is used by the Ehcache nodes to store and retrieve cache data




          •   4
Distributed Ehcache Architecture
          (Memory Hierarchy View)
•   Each in-process Ehcache instance
     – Heap memory
     – Off-heap memory(Big Memory)

•   The Terracotta Server Arrays
     – Heap memory
     – Off-heap memory
     – Disk storage.
           •   This is optional.(Persistence)




     – 1
Ehcache in-process compared with
           Memcached
Reference
• Ehcache User Guide
   – http://ehcache.org/documentation

• Ehcache Architecture, Features And Usage patterns
   – Greg Luck, 2009 JavaOne Session 2007

Más contenido relacionado

La actualidad más candente

Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureVARUN SAXENA
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework Serhat Can
 
Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기SangWoo Kim
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyDaniel Bimschas
 
Web hdfs and httpfs
Web hdfs and httpfsWeb hdfs and httpfs
Web hdfs and httpfswchevreuil
 
20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현Tae Young Lee
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseenissoz
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introductionchrislusf
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debateRestlet
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesBrett Meyer
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJBPeter R. Egli
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138Jose Portillo
 
Comparing Accumulo, Cassandra, and HBase
Comparing Accumulo, Cassandra, and HBaseComparing Accumulo, Cassandra, and HBase
Comparing Accumulo, Cassandra, and HBaseAccumulo Summit
 
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native Way
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native WayMigrating Airflow-based Apache Spark Jobs to Kubernetes – the Native Way
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native WayDatabricks
 
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...Michael Stack
 
Hibernate
HibernateHibernate
HibernateAjay K
 

La actualidad más candente (20)

Application Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and FutureApplication Timeline Server - Past, Present and Future
Application Timeline Server - Past, Present and Future
 
Apache hive introduction
Apache hive introductionApache hive introduction
Apache hive introduction
 
Introduction to Spring Framework
Introduction to Spring FrameworkIntroduction to Spring Framework
Introduction to Spring Framework
 
Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기Apache Zeppelin으로 데이터 분석하기
Apache Zeppelin으로 데이터 분석하기
 
Zero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with NettyZero-Copy Event-Driven Servers with Netty
Zero-Copy Event-Driven Servers with Netty
 
Web hdfs and httpfs
Web hdfs and httpfsWeb hdfs and httpfs
Web hdfs and httpfs
 
20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현20141223 머하웃(mahout) 협업필터링_추천시스템구현
20141223 머하웃(mahout) 협업필터링_추천시스템구현
 
HBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBaseHBase and HDFS: Understanding FileSystem Usage in HBase
HBase and HDFS: Understanding FileSystem Usage in HBase
 
SeaweedFS introduction
SeaweedFS introductionSeaweedFS introduction
SeaweedFS introduction
 
The never-ending REST API design debate
The never-ending REST API design debateThe never-ending REST API design debate
The never-ending REST API design debate
 
Hibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance TechniquesHibernate ORM: Tips, Tricks, and Performance Techniques
Hibernate ORM: Tips, Tricks, and Performance Techniques
 
Enterprise Java Beans - EJB
Enterprise Java Beans - EJBEnterprise Java Beans - EJB
Enterprise Java Beans - EJB
 
Jose portillo dev con presentation 1138
Jose portillo   dev con presentation 1138Jose portillo   dev con presentation 1138
Jose portillo dev con presentation 1138
 
Comparing Accumulo, Cassandra, and HBase
Comparing Accumulo, Cassandra, and HBaseComparing Accumulo, Cassandra, and HBase
Comparing Accumulo, Cassandra, and HBase
 
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native Way
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native WayMigrating Airflow-based Apache Spark Jobs to Kubernetes – the Native Way
Migrating Airflow-based Apache Spark Jobs to Kubernetes – the Native Way
 
Hive Hadoop
Hive HadoopHive Hadoop
Hive Hadoop
 
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...
HBaseConEast2016: How yarn timeline service v.2 unlocks 360 degree platform i...
 
HDFS Analysis for Small Files
HDFS Analysis for Small FilesHDFS Analysis for Small Files
HDFS Analysis for Small Files
 
Apache Hive - Introduction
Apache Hive - IntroductionApache Hive - Introduction
Apache Hive - Introduction
 
Hibernate
HibernateHibernate
Hibernate
 

Destacado

Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEduardo Pelegri-Llopart
 
The new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiThe new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiCyril Lakech
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Louis Jacomet
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheCris Holdorph
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...ColdFusionConference
 
Predicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience ReportPredicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience Reporttilman.holschuh
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...elliando dias
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologieshwilming
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver JavaLeland Bartlett
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)ERPScan
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012hwilming
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java appsSimon Ritter
 
MiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatMiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatHyeonSeok Choi
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1HyeonSeok Choi
 
자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9HyeonSeok Choi
 
Mining the social web 6
Mining the social web 6Mining the social web 6
Mining the social web 6HyeonSeok Choi
 
Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화HyeonSeok Choi
 

Destacado (20)

Ehcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage PatternsEhcache Architecture, Features And Usage Patterns
Ehcache Architecture, Features And Usage Patterns
 
The new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spiThe new ehcache 2.0 and hibernate spi
The new ehcache 2.0 and hibernate spi
 
Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3Caching reboot: javax.cache & Ehcache 3
Caching reboot: javax.cache & Ehcache 3
 
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCacheClustering Made Easier: Using Terracotta with Hibernate and/or EHCache
Clustering Made Easier: Using Terracotta with Hibernate and/or EHCache
 
SAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner WebinarSAP and Red Hat JBoss Partner Webinar
SAP and Red Hat JBoss Partner Webinar
 
Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...Developing High Performance and Scalable ColdFusion Application Using Terraco...
Developing High Performance and Scalable ColdFusion Application Using Terraco...
 
Predicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience ReportPredicting Defects in SAP Java Code: An Experience Report
Predicting Defects in SAP Java Code: An Experience Report
 
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
Distributed Caching Using the JCACHE API and ehcache, Including a Case Study ...
 
Sap java
Sap javaSap java
Sap java
 
SAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss TechnologiesSAP Integration with Red Hat JBoss Technologies
SAP Integration with Red Hat JBoss Technologies
 
Intro To Sap Netweaver Java
Intro To Sap Netweaver JavaIntro To Sap Netweaver Java
Intro To Sap Netweaver Java
 
Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)Practical SAP pentesting workshop (NullCon Goa)
Practical SAP pentesting workshop (NullCon Goa)
 
Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012Integrating SAP the Java EE Way - JBoss One Day talk 2012
Integrating SAP the Java EE Way - JBoss One Day talk 2012
 
Low latency Java apps
Low latency Java appsLow latency Java apps
Low latency Java apps
 
MiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.MicroformatMiningTheSocialWeb.Ch2.Microformat
MiningTheSocialWeb.Ch2.Microformat
 
Domain driven design ch1
Domain driven design ch1Domain driven design ch1
Domain driven design ch1
 
C++ api design 품질
C++ api design 품질C++ api design 품질
C++ api design 품질
 
자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9자바 병렬 프로그래밍 ch9
자바 병렬 프로그래밍 ch9
 
Mining the social web 6
Mining the social web 6Mining the social web 6
Mining the social web 6
 
Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화Refactoring 메소드 호출의 단순화
Refactoring 메소드 호출의 단순화
 

Similar a Overview of the ehcache

Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache frameworkMohammed Fazuluddin
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.Taras Matyashovsky
 
[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching SolutionsITviec
 
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...anynines GmbH
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxAmanuelmergia
 
Caching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsCaching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsDebajani Mohanty
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutionsMarcela Oniga
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache KuduAndriy Zabavskyy
 
Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsAlex Snaps
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchJoe Alex
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for allVSKAMCSPSGCT
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparisonRohit Kelapure
 
Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?DoiT International
 
Criteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkCriteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkPierre Mavro
 

Similar a Overview of the ehcache (20)

Mini-Training: To cache or not to cache
Mini-Training: To cache or not to cacheMini-Training: To cache or not to cache
Mini-Training: To cache or not to cache
 
Selecting the right cache framework
Selecting the right cache frameworkSelecting the right cache framework
Selecting the right cache framework
 
From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.From cache to in-memory data grid. Introduction to Hazelcast.
From cache to in-memory data grid. Introduction to Hazelcast.
 
[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions[Hanoi-August 13] Tech Talk on Caching Solutions
[Hanoi-August 13] Tech Talk on Caching Solutions
 
Cache simulator
Cache simulatorCache simulator
Cache simulator
 
JCache Using JCache
JCache Using JCacheJCache Using JCache
JCache Using JCache
 
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
Cloud Infrastructures Slide Set 8 - More Cloud Technologies - Mesos, Spark | ...
 
Lecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptxLecture-7 Main Memroy.pptx
Lecture-7 Main Memroy.pptx
 
Caching for J2ee Enterprise Applications
Caching for J2ee Enterprise ApplicationsCaching for J2ee Enterprise Applications
Caching for J2ee Enterprise Applications
 
OSOM - Open source catching solutions
OSOM - Open source catching solutionsOSOM - Open source catching solutions
OSOM - Open source catching solutions
 
The Impala Cookbook
The Impala CookbookThe Impala Cookbook
The Impala Cookbook
 
A Closer Look at Apache Kudu
A Closer Look at Apache KuduA Closer Look at Apache Kudu
A Closer Look at Apache Kudu
 
Ehcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroidsEhcache3 — JSR-107 on steroids
Ehcache3 — JSR-107 on steroids
 
Managing Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using ElasticsearchManaging Security At 1M Events a Second using Elasticsearch
Managing Security At 1M Events a Second using Elasticsearch
 
Memory Management in Operating Systems for all
Memory Management in Operating Systems for allMemory Management in Operating Systems for all
Memory Management in Operating Systems for all
 
Caching technology comparison
Caching technology comparisonCaching technology comparison
Caching technology comparison
 
Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?Is your Elastic Cluster Stable and Production Ready?
Is your Elastic Cluster Stable and Production Ready?
 
Ehcache 3 @ BruJUG
Ehcache 3 @ BruJUGEhcache 3 @ BruJUG
Ehcache 3 @ BruJUG
 
Criteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech TalkCriteo meetup - S.R.E Tech Talk
Criteo meetup - S.R.E Tech Talk
 
Memory Management.pdf
Memory Management.pdfMemory Management.pdf
Memory Management.pdf
 

Más de HyeonSeok Choi

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2HyeonSeok Choi
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2HyeonSeok Choi
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04HyeonSeok Choi
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04HyeonSeok Choi
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05HyeonSeok Choi
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성HyeonSeok Choi
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7HyeonSeok Choi
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6HyeonSeok Choi
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaHyeonSeok Choi
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1HyeonSeok Choi
 
HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HyeonSeok Choi
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HyeonSeok Choi
 

Más de HyeonSeok Choi (20)

밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2밑바닥부터시작하는딥러닝 Ch2
밑바닥부터시작하는딥러닝 Ch2
 
프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2프로그래머를위한선형대수학1.2
프로그래머를위한선형대수학1.2
 
알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04알고리즘 중심의 머신러닝 가이드 Ch04
알고리즘 중심의 머신러닝 가이드 Ch04
 
딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04딥러닝 제대로시작하기 Ch04
딥러닝 제대로시작하기 Ch04
 
밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05밑바닥부터시작하는딥러닝 Ch05
밑바닥부터시작하는딥러닝 Ch05
 
함수적 사고 2장
함수적 사고 2장함수적 사고 2장
함수적 사고 2장
 
7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성7가지 동시성 모델 - 데이터 병렬성
7가지 동시성 모델 - 데이터 병렬성
 
7가지 동시성 모델 4장
7가지 동시성 모델 4장7가지 동시성 모델 4장
7가지 동시성 모델 4장
 
Bounded Context
Bounded ContextBounded Context
Bounded Context
 
DDD Repository
DDD RepositoryDDD Repository
DDD Repository
 
DDD Start Ch#3
DDD Start Ch#3DDD Start Ch#3
DDD Start Ch#3
 
실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8실무로 배우는 시스템 성능 최적화 Ch8
실무로 배우는 시스템 성능 최적화 Ch8
 
실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7실무로 배우는 시스템 성능 최적화 Ch7
실무로 배우는 시스템 성능 최적화 Ch7
 
실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6실무로 배우는 시스템 성능 최적화 Ch6
실무로 배우는 시스템 성능 최적화 Ch6
 
Logstash, ElasticSearch, Kibana
Logstash, ElasticSearch, KibanaLogstash, ElasticSearch, Kibana
Logstash, ElasticSearch, Kibana
 
실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1실무로배우는시스템성능최적화 Ch1
실무로배우는시스템성능최적화 Ch1
 
HTTP 완벽가이드 21장
HTTP 완벽가이드 21장HTTP 완벽가이드 21장
HTTP 완벽가이드 21장
 
HTTP 완벽가이드 16장
HTTP 완벽가이드 16장HTTP 완벽가이드 16장
HTTP 완벽가이드 16장
 
HTTPS
HTTPSHTTPS
HTTPS
 

Último

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024Results
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsRoshan Dwivedi
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Igalia
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...gurkirankumar98700
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxKatpro Technologies
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 

Último (20)

The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live StreamsTop 5 Benefits OF Using Muvi Live Paywall For Live Streams
Top 5 Benefits OF Using Muvi Live Paywall For Live Streams
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
Kalyanpur ) Call Girls in Lucknow Finest Escorts Service 🍸 8923113531 🎰 Avail...
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptxFactors to Consider When Choosing Accounts Payable Services Providers.pptx
Factors to Consider When Choosing Accounts Payable Services Providers.pptx
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 

Overview of the ehcache

  • 1. Overview of the Ehcache 2011.12.02 chois79
  • 2. Contents • About Caches • Why caching works • Will an Application Benefit from Caching? • How much will an application speed up? • About Ehcache • Features of Ehcache • Key Concepts of Ehcache • Using Ehcache • Distributed Ehcache Architecture • References
  • 3. About Caches • In Wiktionary – A store of things that will be required in future and can be retrieved rapidly • In computer science – A collection of temporary data which either duplicates data located elsewhere of is the result of a computation – The data can be repeatedly accessed inexpensively
  • 4. Why caching works • Locality of Reference – Data that is near other data or has just been used is more likely to be used again • The Long Tail A small number of items may make up the bulk of sales. – Chris Anderson – One form of a Power Law distribution is the Pareto distribution (80:20 rule) – IF 20% of objects are used 80% of the time and a way can be found to reduce the cost of obtaining that 20%, then system performance will improve
  • 5. Will an Application Benefit from Caching? CPU bound Application • The time taken principally depends on the speed of the CPU and main memory • Speeding up – Improving algorithm performance – Parallelizing the computations across multiple CPUs or multiple machines – Upgrading the CPU speed • The role of caching – Temporarily store computations that may be reused again • Ex) DB Cache, Large web pages that have a high rendering cost.
  • 6. Will an Application Benefit from Caching? I/O bound Application • The time taken to complete a computation depends principally on the rate at which data can be obtained • Speeding up – Hard disks are speeding up by using their own caching of blocks into memory • There is no Moore’s law for hard disk. – Increase the network bandwidth • The role of cache – Web page caching, for pages generated from databases – Data Access object caching
  • 7. Will an Application Benefit from Caching? Increased Application Scalability • Data bases can do 100 expensive queries per second – Caching may be able to reduce the workload required
  • 8. How much will an application speed up? (Amdahl’s Law) • Depend on a multitude of factors – How many times a cached piece of data can and is reduced by the application – The proportion of the response time that is alleviated by caching • Amdahl’s Law P: Proportion speed up S: Speed up
  • 9. Amdahl’s Law Example (Speed up from a Database Level Cache) Un-cached page time: 2 seconds Database time: 1.5 seconds Cache retrieval time: 2ms Proportion: 75% (2/1.5) The expected system speedup is thus: 1 / (( 1 – 0.75) + 0.75 / (1500/2)) = 1 / (0.25 + 0.75/750) = 3.98 times system speedup
  • 10. About Ehcache • Open source, standards-based cache used to boost performance • Basically, based on in-process • Scale from in-process with one more nodes through to a mixed in- process/out-of-process configuration with terabyte-sized caches • For applications needing a coherent distributed cache, Ehcache uses the open source Terracotta Server Array • Java-based Cache, Available under an Apache 2 license • The Wikimedia Foundation use Ehcache to improve the performance of its wiki projects
  • 11. Features of Ehcache(1/2) • Fast and Light Weight – Fast, Simple API – Small foot print: Ehcache 2.2.3 is 668 kb making it convenient to package – Minimal dependencies: only dependency on SLF4J • Scalable – Provides Memory and Disk store for scalability into gigabytes – Scalable to hundreds of nodes with the Terracotta Server Array • Flexible – Supports Object or Serializable caching – Provides LRU, LFU and FIFO cache eviction policies – Provides Memory and Disk stores
  • 12. Features of Ehcache(2/2) • Standards Based – Full implementation of JSR107 JCACHE API • Application Persistence – Persistent disk store which stores data between VM restarts • JMX Enable • Distributed Caching – Clustered caching via Terracotta – Replicated caching via RMI, JGroups, or JMS • Cache Server – RESTful, SOAP cache Server • Search – Standalone and distributed search using a fluent query language
  • 13. Key Concepts of Ehcache Key Classes • CacheManager – Manages caches • Ehcache – All caches implement the Ehcache interface – A cache has a name and attributes – Cache elements are stored in the memory store, optionally the also overflow to a disk store • Element – An atomic entry in a cache – Has key and value – Put into and removed from caches
  • 14. Key Concepts of Ehcache Usage patterns: Cache-aside • Application code use the cache directly • Order – Application code consult the cache first – If cache contains the data, then return the data directly – Otherwise, the application cod must fetch the data from the system-of-record, store the data in the cache, then return. – 0
  • 15. Key Concepts of Ehcache Usage patterns: Read-through • Mimics the structure of the cache-aside patterns when reading data • The difference – Must implement the CacheEntryFactory interface to instruct the cache how to read objects on a cache miss – Must wrap the Ehcache instance with an instance of SelfPopulationCache – 4
  • 16. Key Concepts of Ehcache Usage patterns: Write-through and behind • Mimics the structure of the cache-aside pattern when data write • The difference – Must implement the CacheWriter interface and configure the cache for write-through or write behind – A write-through cache writes data to the system-of-record in the same thread of execution – A write-behind queues the data for write at a later time – d
  • 17. Key Concepts of Ehcache Usage patterns: Cache-as-sor • Delegate SOR reading and writing actives to the cache • To implement, use a combination of the following patterns – Read-through – Write-through or write-behind • Advantages – Less cluttered application code – Easily choose between write-through or write-behind strategies – Allow the cache to solve the “thundering-herd” problem • Disadvantages – Less directly visible code-path
  • 18. Key Concepts of Ehcache Storage Options: Memory Store • Suitable Element Types – All Elements are suitable for placement in the Memory Store • Characteristics – Thread safe for use by multiple concurrent threads – Backed By LinkedHashMap (Jdk 1.4 later) • LinkedHashMap: Hash table and linked list implementation of the Map interface – Fast • Memory Use, Spooling and Expiry Strategy – Least Recently Used (LRU): default – Least frequently Used (LFU) – First In First Out (FIFO)
  • 19. Key Concepts of Ehcache Storage Options: Big-Memory Store • Pure java product from Terracotta that permits caches to use an additional type of memory store outside the object heap. (Packaged for use in Enterprise Ehcache) – Not subject to Java GC – 100 times faster than Disk-Store – Allows very large caches to be created(tested up to 350GB) • Two implementations – Only Serializable cache keys and values can be placed similar to Disk Store – Serializaion and deserialization take place putting and getting from the store • Around 10 times slower than Memory Store • The memory store holds the hottest subset of data from the off-heap store, already in deserialized form • Suitable Element Types – Only Elements which are serializable can be placed in the off-heap – Any non serializable Elements will be removed and WARNING level log message emitted
  • 20. Key Concepts of Ehcache Storage Options: Disk Store • Disk Store are optional • Suitable Element Type – Only Elements which are serializable can be placed in the off-heap – Any non serializable Elements will be removed and WARNING level log message emitted • Eviction – The LFU algorithm is used and it is not configurable or changeable • Persistence – Controlled by the disk persistent configuration – If false or onmitted, disk store will not presit between CacheManager restarts
  • 21. Key Concepts of Ehcache Replicated Caching • Ehcache has a pluggable cache replication scheme – RMI, JGroups, JMS • Using a Cache Server – To achieve shared data, all JVMs read to and write from a Cache Server • Notification Strategies – If the Element is not available anywhere else then the element it self shoud from the pay load of the notification – D
  • 22. Key Concepts of Ehcache Search APIs • Allows you to execute arbitrarily complex queries either a standalone cache or a Terracotta clustered cache with pre-built indexes • Searchable attributes may be extracted from both key and vales • Attribute Extractors – Attributes are extracted from keys or values – This is done during search or, if using Distributed Ehcache on put() into the cache using AttributeExtractors – Supported types • Boolean, Byte, Character, Double, Float, Integer, Long, Short, String, Enum, java.util.Date, Java.sql.Date
  • 23. Using Ehcache General-Purpose Caching • Local Cache • Configuration – Place the Ehcache jar into your class-path – Configure ehcache.xml and place it in your class-path – Optionally, configure an appropriate logging level DB Local Application Web Ehcache Server – d Web Server
  • 24. Using Ehcache Cache Server • Support for RESTful and SOAP APIs • Redundant, Scalable with client hash-based routing – The client can be implemented in any language – The client must work out a partitioning scheme – s
  • 25. Using Ehcache Integrate with other solutions • Hivernate • Java EE Servlet Caching • JCache style caching • Spring, cocoon, Acegi and other frameworks
  • 26. Distributed Ehcache Architecture (Logical View) • Distributed Ehcache combines an in-process Ehcache with the Terracotta Server Array • The data is split between an Ehcache node(L1) and the Terracotta Server Array(L2) – The L1 can hold as much data as is comfortable – The L2 always a complete copy of all cache data – The L1 acts as a hot-set of recently used data
  • 27. Distributed Ehcache Architecture (Ehcache topologies) • Standalone – The cache data set is held in the application node – Any other application nodes are independent with no communication between them • Distributed Ehcache – The data is held in a Terracotta server Array with a subset of recently used data held in each application cache node • Replicated – The cached data set is held in each application node and data is copied or invalidated across the cluster without locking – Replication can be either asynchronous or synchronous – The only consistency mode available is weak consistency
  • 28. Distributed Ehcache Architecture (Network View) • From a network topology point of view Distributed Ehcache consist of – Ehcache node(L1) • The Ehcache library is present in each app • An Ehcache instance, running in-process sits in each JVM – Terracotta Server Array(L2) • Each Ehcache instance maintains a connection with one or more Terracotta Servers • Consistent hashing is used by the Ehcache nodes to store and retrieve cache data • 4
  • 29. Distributed Ehcache Architecture (Memory Hierarchy View) • Each in-process Ehcache instance – Heap memory – Off-heap memory(Big Memory) • The Terracotta Server Arrays – Heap memory – Off-heap memory – Disk storage. • This is optional.(Persistence) – 1
  • 30. Ehcache in-process compared with Memcached
  • 31. Reference • Ehcache User Guide – http://ehcache.org/documentation • Ehcache Architecture, Features And Usage patterns – Greg Luck, 2009 JavaOne Session 2007