Distributed cache
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.[when?] 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]
- Modulus sharding
- Range-based sharding
- Consistent hashing evenly distributes cache keys across shards, even if some of the shards crash or become unavailable.[5]
Examples
- Aerospike
- Apache Ignite
- Couchbase
- Ehcache
- GigaSpaces
- Hazelcast
- Infinispan
- Memcached
- Oracle Coherence
- Riak
- Redis
- Tarantool
- Velocity/AppFabric
See also
- Cache algorithms
- Cache coherence
- Cache-oblivious algorithm
- Cache stampede
- Cache language model
- Database cache
- Cache manifest in HTML5
References
- ^ Paul, S; Z Fei (1 February 2001). "Distributed caching with centralized control". Computer Communications. 24 (2): 256–268. CiteSeerX 10.1.1.38.1094. doi:10.1016/S0140-3664(00)00322-4.
- ^ Khan, Iqbal. "Distributed Caching on the Path To Scalability". MSDN (July 2009). Retrieved 30 March 2012.
- ^ Bilal, Muhammad; et al. (2017). "A Cache Management Scheme for Efficient Content Eviction and Replication in Cache Networks". IEEE Access. 5: 1692–1701. arXiv:1702.04078. Bibcode:2017arXiv170204078B. doi:10.1109/ACCESS.2017.2669344. S2CID 14517299.
- ^ Foundations of Scalable Systems. O'Reilly Media. 2022. ISBN 9781098106034.
- ^ Designing Distributed Systems Patterns and Paradigms for Scalable, Reliable Services. O'Reilly Media. 2018. ISBN 9781491983607.
Content Disclaimer
Informasi ini disarikan dari Wikipedia dan disajikan kembali untuk tujuan edukasi. Konten tersedia di bawah lisensi CC BY-SA 3.0. Kami tidak bertanggung jawab atas ketidakakuratan data yang bersumber dari kontribusi publik tersebut.
- The information displayed on this website is sourced in part or in whole from Wikipedia and has been adapted for the purpose of restating it. We strive to provide accurate and relevant information, however:
- There is no guarantee of absolute accuracy. Wikipedia is an open, collaborative project that can be edited by anyone, so information is subject to change.
- It is not intended to constitute professional advice. The content displayed is for informational and educational purposes only. For important decisions (e.g., medical, legal, or financial), please consult a professional.
- Content copyright. Wikipedia is licensed under the Creative Commons Attribution-ShareAlike License (CC BY-SA). This means that content may be reused with appropriate attribution and shared under a similar license.
- Responsible use. Any risk arising from the use of information from this website is entirely the responsibility of the user.