Distributed cache explained

In computing, a distributed cache is an extension of the traditional concept of cache used in a single locale. A distributed cache may span multiple servers so that it can grow in size and in transactional capacity. It is mainly used to store application data residing in database and web session data. The idea of distributed caching[1] has become feasible now because main memory has become very cheap and network cards have become very fast, with 1 Gbit now standard everywhere and 10 Gbit gaining traction. Also, a distributed cache works well on lower cost machines usually employed for web servers as opposed to database servers which require expensive hardware.[2] An emerging internet architecture known as Information-centric networking (ICN) is one of the best examples of a distributed cache network. The ICN is a network level solution hence the existing distributed network cache management schemes are not well suited for ICN.[3] In the supercomputer environment, distributed cache is typically implemented in the form of burst buffer.

In distributed caching, each cache key is assigned to a specific shard (a.k.a partition). There are different sharding strategies:[4]

Examples

See also

Notes and References

  1. Paul. S. Z Fei. 2001-02-01. Distributed caching with centralized control. Computer Communications. 24. 2. 256–268. 10.1016/S0140-3664(00)00322-4. 10.1.1.38.1094.
  2. Khan. Iqbal. Distributed Caching on the Path To Scalability. MSDN. July 2009. 2012-03-30.
  3. Bilal, Muhammad. etal. A Cache Management Scheme for Efficient Content Eviction and Replication in Cache Networks. IEEE Access . 5. 1692–1701. 10.1109/ACCESS.2017.2669344. 2017arXiv170204078B. 2017. 1702.04078. 14517299 .
  4. Book: Foundations of Scalable Systems . O'Reilly Media . 2022 . 9781098106034.
  5. Book: Designing Distributed Systems Patterns and Paradigms for Scalable, Reliable Services . O'Reilly Media . 2018 . 9781491983607.