e-Zest members share technology ideas to foster digital transformation.

In Memory Cache Framework

Written by Amit Zambad | Aug 23, 2016 11:53:57 AM

What is In Memory Cache?

In memory cache is an integrated, high-performance and distributed in memory medium for computing and transacting on large-scale data sets in real-time. In memory cache framework is required to perform operations faster with conventional disk-based or flash technologies with replicated data on every instance we create to share data.

Multi-tier architectures help make complex enterprise applications scalable & manageable. Yet, as the number of tiers & servers increase, so does the communication among them, which can degrade overall application performance.

In any Enterprise application we can cache objects by object caching. It allows applications to share objects across requests, users and coordinates the objects life cycles across processes. This also allows us to do web caching.

Why is it required in distributed environment?

We need cache framework to perform shared data in various instances without losing data before performing all operation on it. Our system will be running on distributed environment where different stock scripts will get processed on parallel systems in data shared mode. This data can be available with cache framework from all systems in replicated or partitioned manner.

Although cache repositories require CPU & memory resources, using caches can lead to overall performance gains by reducing expenses.

Object caching eliminates the need to repeatedly load and create data. It avoids the expensive reacquisition of objects by not releasing the objects immediately after use; the objects are stored in memory and reused for any subsequent client requests.

There are several Caching Frameworks for Java such as Hazelcast, JBoss Cache, OSCache, Java Caching System and EhCache, Apache Ignite, etc.



References : 

https://github.com/gridgain/yardstick

http://www.gridgain.com/resources/benchmarks/ignite-vs-hazelcast-benchmarks.

https://hazelcast.com/

Final decision taken by above research is to select Apache Ignite In Memory Cache Framework due to Following Reasons:

  1. Well Documented
  2. Easy Implementation
  3. Low Latency
  4. High Operation capability/second
  5. High popularity as a result ample information available
  6. Fitting our criteria perfectly

References:

http://docs.jboss.org/jbosscache/3.2.0.GA/userguide_en/html_single/index.html

https://web.archive.org/web/20101203145149/http://www.opensymphony.com/os