On Wed, Nov 9, 2011 at 12:00 PM, <[email protected]> wrote:

> From: Nate Lawson <[email protected]>
>
> We have been looking into ways to cluster keys to benefit from the LevelDB
> backend's prefix compression. If we were doing a batch of lookups and the
> keys from a given document could be grouped on a partition, they could be
> read with less disk IO. However, consistent hashing in Riak currently
> spreads keys randomly, based on SHA-1.
>
> What I think we could really use is a per-bucket configurable prefix
> length for consistent hashing. We would then create keys of the form
> "DocumentID:<key>" and tell Riak to only hash DocumentID to get the
> partition. This way, keys from the same document would be clustered on the
> same partition.
>
> Is this on your roadmap already? It seems like it wouldn't require too
> many changes to Riak.
>

If you look at the bucket properties by fetching them, you'll notice that
there is already an entry for specifying a key hashing function.  Its not
documented, but you can read the Erlang code for the existing function
(pretty much just a call to SHA1), and create your own to do whatever
partitioning you want.
_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to