﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Ayende Rahien commented on Patterns for using distributed hash tables: Locking</title><description>I think that this post should make the conceptual difference between cache and DHT:
  
  
http://www.ayende.com/Blog/archive/2008/07/19/Distributed-in-memory-cache--storage.aspx
  
  
Note that the only disclaimer is on the wide spread use of locks in a DHT, not against the idea of DHT itself.
</description><link>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment5</link><guid>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment5</guid><pubDate>Thu, 24 Jul 2008 17:36:24 GMT</pubDate></item><item><title>Joe commented on Patterns for using distributed hash tables: Locking</title><description>Ayende,
  
  
Sorry, no, I did not read the last two paragraphs.  I got about 3/4 of the way through the post and at that point I was so infuriated I could read no more.
  
  
You should definitely put your disclaimer at the top, not the bottom.  You need to STRONGLY emphasize that this is a path people should NOT go down.   You've already posted three times on this subject, and it's only at the very end that you give a disclaimer.   
  
  
As you can see, bad things can happen long before that disclaimer is read.
  
  
I also don't feel that you've properly defined what you feel the difference between a DHT and a cache is.  In my mind, they aren't any different, but you seem to think differently.  Perhaps you should expand on that a bit so that other's are not unintentionally mislead down a path I know neither of us want them to go down.
</description><link>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment4</link><guid>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment4</guid><pubDate>Thu, 24 Jul 2008 17:24:36 GMT</pubDate></item><item><title>Ayende Rahien commented on Patterns for using distributed hash tables: Locking</title><description>Joe,
  
a) did you read the last two paragraphs of this post?
  
b) there is a reason I am using the term DHT instead of cache. I am not talking about using a cache, I am talking about using a distributed hash table for storage.
</description><link>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment3</link><guid>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment3</guid><pubDate>Thu, 24 Jul 2008 17:00:05 GMT</pubDate></item><item><title>Joe commented on Patterns for using distributed hash tables: Locking</title><description>I don't think you understand the point of the cache.  If you're so hell bent on implementing locking techniques to keep everything in the cache, you might as well just install a few machines with databases on RAM drives.  At least that way you have some potential for using transactions.
  
  
The point of the cache is that you take the pain of the occasional inconsistency in data (which if your system is architected properly is surprisingly rare, and will be fixed soon enough because of your cache timeouts) in exchange for massive performance and scaling gains.
  
  
Obviously, you wouldn't want to handle a highly critical financial transaction via the cache, but your news items on a blog?  If one doesn't show up for a couple minutes because there was a race condition and it got overwritten, who does it really hurt?  Oh, there's a big update on CNN's web site you say?  Ever heard of a "force cache refresh" button?
  
  
You are making this WAY too complex by introducing all this locking.  By worrying so much about the minutia of the data, you're taking a simple problem and creating a giant nightmarish architectural and maintenance mess out of it.  No thanks.  
  
  
You fix these problem by having short timeouts, refresh buttons, and update queues, not all this crazy locking,  And bank transactions?  Queues, sharding, and no caching. 
  
  
  
</description><link>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment2</link><guid>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment2</guid><pubDate>Thu, 24 Jul 2008 16:39:27 GMT</pubDate></item><item><title>firefly commented on Patterns for using distributed hash tables: Locking</title><description>Oren, I like this post a lot even thought it make my head hurt :) Actually I was thinking about this when posting in your other post.
</description><link>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment1</link><guid>http://ayende.com/3425/patterns-for-using-distributed-hash-tables-locking#comment1</guid><pubDate>Sun, 20 Jul 2008 23:35:48 GMT</pubDate></item></channel></rss>