<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: libketama</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/libketama.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2009-05-05T13:45:08+00:00</updated><author><name>Simon Willison</name></author><entry><title>hash_ring 1.2</title><link href="https://simonwillison.net/2009/May/5/hashring/#atom-tag" rel="alternate"/><published>2009-05-05T13:45:08+00:00</published><updated>2009-05-05T13:45:08+00:00</updated><id>https://simonwillison.net/2009/May/5/hashring/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://pypi.python.org/pypi/hash_ring/1.2"&gt;hash_ring 1.2&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
A Python library for consistent hashing with memcached, using MD5 and the same algorithm as libketama. Exposes an interface that is identical to regular memcache making this a drop-in replacement.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/amir-salihefendic"&gt;amir-salihefendic&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/consistenthashing"&gt;consistenthashing&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/django"&gt;django&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hashring"&gt;hashring&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libketama"&gt;libketama&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/md5"&gt;md5&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/memcached"&gt;memcached&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/python"&gt;python&lt;/a&gt;&lt;/p&gt;



</summary><category term="amir-salihefendic"/><category term="caching"/><category term="consistenthashing"/><category term="django"/><category term="hashring"/><category term="libketama"/><category term="md5"/><category term="memcached"/><category term="python"/></entry><entry><title>Project Voldemort</title><link href="https://simonwillison.net/2009/Jan/17/voldemort/#atom-tag" rel="alternate"/><published>2009-01-17T19:45:34+00:00</published><updated>2009-01-17T19:45:34+00:00</updated><id>https://simonwillison.net/2009/Jan/17/voldemort/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://project-voldemort.com/"&gt;Project Voldemort&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Yet Another “big, distributed, persistent, fault-tolerant hash table”—this time from LinkedIn, released under the Apache 2.0 license. The approach to consistency is interesting—instead of using distributed transactions, they use versioning and “resolve inconsistencies at read time”. It also uses consistent hashing (as seen in libketama) to select servers. The design document has lots more information.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/consistency"&gt;consistency&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/hashtable"&gt;hashtable&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/keyvaluepairs"&gt;keyvaluepairs&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/libketama"&gt;libketama&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/linkedin"&gt;linkedin&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/open-source"&gt;open-source&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/scaling"&gt;scaling&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/versioning"&gt;versioning&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/voldemort"&gt;voldemort&lt;/a&gt;&lt;/p&gt;



</summary><category term="consistency"/><category term="hashtable"/><category term="keyvaluepairs"/><category term="libketama"/><category term="linkedin"/><category term="open-source"/><category term="scaling"/><category term="versioning"/><category term="voldemort"/></entry></feed>