0

Can anyone give me some intuitive examples? I have seen a bunch of notes but still could not get the "point" and advantage of "distributed hash table" compared to a simple traditional hash table. Thanks!

yvetterowe
  • 1,239
  • 7
  • 20
  • 34
  • 1
    When the total data couln't be held in the memory of a single server (and you want to avoid disk IO)? When you need fault tolerance / tolerance to periodical resources unavailability? – leventov Oct 27 '14 at 00:24
  • Currently this question is too broad / unclear what you are asking – leventov Oct 27 '14 at 00:24

1 Answers1

1

There are a number of advantages that you can get over a traditional hashtable, when using a distributed cache:

  • Distributed cache will be out of process. Data will remain cached even if user application restarts; traditional hashtable will be disposed with application restart
  • Distributed cache can be shared among multiple applications, data cached by one application will be available to all others; traditional hashtable will be local to the process only
  • Distributed cache provides scalability, i.e. adding more servers will add more memory (RAM) to be used for distributed-hashtable; where as local hashtable can only use local process's memory
  • Distributed caching solutions provide extra features like replication for fault tolerance, expiration, eviction and dependencies etc which help user make better use of caching as compared to a hashtable
  • Several solutions like NCache also provide SQL-like queries to be used on in-memory data in distributed cache

You can look into Iqbal Khan's article on MSDN about Distributed Caching On The Path To Scalability for further understanding of need of distributed cache.

Sameer Shah
  • 1,073
  • 7
  • 12