List keys and multiple buckets

Kresten Krab Thorup krab at
Tue Nov 15 12:17:21 EST 2011

On Nov 15, 2011, at 5:07 PM, Izhar Ravid wrote:

Assuming I wish to store user information for some 200M users, and create a bucket per user. Each user bucket will contain several dozen objects.
- Will list-keys on such a user bucket be a reasonable action?

When using leveldb as the backend, list-keys is isolated to a bucket.  As far as I can see, list_keys is a "blocking operation" meaning that a vnode doing list_keys can not respond to other requests while it is processing.  So; in this case ... using leveldb and ~dozens of keys per bucket it does sound reasonable.

- Is list-keys isolated to a bucket?
- Is it reasonable to expect Riak to hold 200M buckets?

I'd say that it depends on your need to configure bucket properties.

Riak stores bucket properties in "the ring", which is a riak cluster's distributed state management.

The ring is not designed to have 200M entries as far as I know; and if you need to set bucket properties then the ring needs to hold those values (if you use the default properties it requires no state).

So, ... the answer is probably no in this case; 200M buckets is not reasonable, because you will likely eventually want to define properties for these buckets.


Kind regards,

riak-users mailing list
riak-users at<mailto:riak-users at>

More information about the riak-users mailing list