﻿<?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>Ezra Zygmuntowicz commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>If you take a look at my ruby client library for redis it implements consistent ring hashing for working with a set of distributed redis servers. I have implemented something very similar to what you mention here with regard to sectioning off the key space so you can be sure a certain set of keys always get hashed to the same redis server with this syntax:
  
  
"bob{tags:42}"
  
"joe{tags:42}"
  
  
If you include curly braces in your key, the client library will only hash based on what is inside the {} curly braces in order to find the proper redis server to connect to. This allows for grouping certain data on certain servers so you can perform efficient set operations in the server rather then pulling form many servers and doing it on the client.
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment6</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment6</guid><pubDate>Thu, 22 Oct 2009 04:43:44 GMT</pubDate></item><item><title>Billy Newport commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>In fact, I'm prototyping the @ notation as I speak, it's very cool.
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment5</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment5</guid><pubDate>Thu, 22 Oct 2009 04:30:10 GMT</pubDate></item><item><title>Billy Newport commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>Good comments, the @ notation is nice. I see the list push and that would work well for that kind of scenario but not for when you want to do more complex stuff with each element of the list which is where I was coming from but your push api is nice and easy.
  
  
I'm thinking more and more than KV without first class list/set support is pretty limited and cumbersome to use.
  
  
I don't like the API prototype much either and thats why it's a prototype :) More work needed to make it better.
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment4</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment4</guid><pubDate>Thu, 22 Oct 2009 04:27:48 GMT</pubDate></item><item><title>brad commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>I think CouchDB has a better solution. Create your data as JSON, and post it to their REST API. Then you can use great tools already available for building the object, like JSon.Net.
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment3</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment3</guid><pubDate>Wed, 21 Oct 2009 13:59:00 GMT</pubDate></item><item><title>tobi commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>Redis seems to be not well thought out. You could also add batching:
  
  
var batch = new RedisBatch();
  
batch.AddUpdate(...); //repeat for every follower or whatever
  
batch.Submit();
  
  
This seems to be lacking from most K/V stores at the moment although it would be an obvious performance improvement. I estimate that 10 batched updates would be as costly as 2 serial updates. Thats factor 5 with this simple change. It's outrageous.
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment2</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment2</guid><pubDate>Tue, 20 Oct 2009 19:10:31 GMT</pubDate></item><item><title>neo commented on JAOO: More on Evolving the Key/Value Programming Model to a Higher Level from Billy Newport</title><description>neo4j rocks
</description><link>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment1</link><guid>http://ayende.com/4257/jaoo-more-on-evolving-the-key-value-programming-model-to-a-higher-level-from-billy-newport#comment1</guid><pubDate>Tue, 20 Oct 2009 04:49:43 GMT</pubDate></item></channel></rss>