<ul>Dynacache vs Memcached  - Caching Technologies for Java Applications </ul>
<ul>Technologies </ul><ul><li>General object cache attributes
Memcached
DistributedMap (part of Dynacache) </li></ul>
<ul>General Object Cache Characteristics </ul><ul><li>An object cache is a Key-Value lookup table  </li></ul><ul><ul><li>S...
Objects typically discarded on least-recently-used policy when cache is full </li><ul><li>Some caches may offer other algo...
Upcoming SlideShare
Loading in …5
×

Caching technology comparison

1,430 views
1,321 views

Published on

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,430
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
8
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide
  • Last update:
  • Caching technology comparison

    1. 1. <ul>Dynacache vs Memcached - Caching Technologies for Java Applications </ul>
    2. 2. <ul>Technologies </ul><ul><li>General object cache attributes
    3. 3. Memcached
    4. 4. DistributedMap (part of Dynacache) </li></ul>
    5. 5. <ul>General Object Cache Characteristics </ul><ul><li>An object cache is a Key-Value lookup table </li></ul><ul><ul><li>Similar to a java.util.Hashtable </li></ul></ul><ul><li>Have configurable maximum sizes </li></ul><ul><ul><li>May be configured number of cache entries or memory size
    6. 6. Objects typically discarded on least-recently-used policy when cache is full </li><ul><li>Some caches may offer other algorithms </li></ul></ul></ul><ul><li>Have configurable lifetimes per cache entry </li></ul>
    7. 7. <ul>Overview: Memcached </ul><ul><li>“ Free & open source, high-performance, distributed memory object caching system” (from memcached.org)
    8. 8. Main components: </li></ul><ul><ul><li>memcached server – standalone server storing cached items
    9. 9. memcached client software </li><ul><li>Available for multiple programming languages
    10. 10. Keys & values must be transmitted over TCP/IP </li></ul></ul></ul><ul><li>Cluster design: </li></ul><ul><ul><li>Client uses hashing algorithm to assign keys to servers
    11. 11. Each key is cached on at most one server
    12. 12. Explicit invalidations go only to the server which should store that key </li></ul></ul>
    13. 13. <ul>Overview: DistributedMap </ul><ul><li>Built-in component in WAS Network Deployment </li></ul><ul><ul><li>Only available to Java clients </li></ul></ul><ul><li>Content is cached in JVM memory </li></ul><ul><ul><li>Cache operations are POJO calls </li></ul></ul><ul><li>Multiple cache instances can be created </li></ul><ul><ul><li>Each is treated separately for synchronization, LRU and invalidation </li></ul></ul><ul><li>Cluster design: </li></ul><ul><ul><li>Cache keys may be cached in multiple nodes
    14. 14. Explicit invalidation notifies peers to discard the cache key
    15. 15. Option available to push entries to peers on cache insert </li></ul></ul>
    16. 16. <ul>Advantages of Each Technology </ul><ul><li>Dynacache </li></ul><ul><ul><li>Memory and disk storage for cache with ability to restrict size in terms of # of entries and # of bytes </li></ul></ul><ul><ul><li>Fast cache operations </li><ul><li>The key raison d'etre for a cache
    17. 17. Lookups through POJO calls - no network delays
    18. 18. No serialization/ deserialization of keys and values – lower CPU consumption </li></ul><li>Mature, well-supported part of WAS </li></ul></ul><ul><ul><ul><li>Used in Connections, other ICS products
    19. 19. “ We know the developers” </li></ul><li>Priority-based cache algorithm available
    20. 20. Variety of tools available for Administering, Monitoring and Configuration integrated with WAS </li><ul><li>Mbean, Extended Cache Monitor </li></ul><li>Higher QOS with WebSphere eXtreme scale integration
    21. 21. Leverages scalable, resilient and field tested WAS replication & HAManager infrastructure
    22. 22. Comprehensive cache metrics available including mbean and PMI statistics
    23. 23. Can be plugged in as an OpenJPA L2 cache </li></ul></ul><ul><li>Memcached </li></ul><ul><ul><li>Does not consume memory in Java heap </li></ul></ul><ul><ul><ul><li>This is less important as we move to 64-bit JVMs </li></ul></ul></ul><ul><ul><li>Single instance of each cache key </li></ul></ul><ul><ul><ul><li>No peer-to-peer traffic on invalidations </li></ul></ul></ul><ul><ul><li>Usable in Tomcat, WAS CE, php applications </li></ul></ul>

    ×