Buckets and riak instances

Timothy Perrett timothy at getintheloop.eu
Mon Oct 26 05:05:05 EDT 2009


Hey Justin,

Thanks for your response - most helpful. One thing that is not clear  
on the NYC nosql slides ( http://riak.basho.com/nyc-nosql/ ) on slide  
number 21 is weather or not Artist, Album and Track are all in the  
same bucket?

Im guessing they are, but its kinda tough to know :-) In this example,  
is the bucket also called "artist"?

Cheers, Tim

On 26 Oct 2009, at 01:42, Justin Sheehy wrote:

> Hi Tim,
>
> On Sun, Oct 25, 2009 at 3:49 PM, Timothy Perrett
> <timothy at getintheloop.eu> wrote:
>
>> In the examples i've seen online, im not sure if a bucket  
>> semantically
>> corresponds to a "table" or a "database" in RDBMS ways of thinking.  
>> I think
>> its the former?
>
> The closer analogy would be to a table, as a single running Riak
> cluster can have any number of buckets, and the mere existence of a
> bucket adds almost no overhead to the running system.
>
> However, there is no perfect equivalence, since a bucket doesn't
> (e.g.) inherently impose any schema or other constraints on the data
> contained within.  Most people tend to use a separate bucket for each
> form of document or object in their application just as you might use
> a table, but you're not forced to do so.  You could put all of your
> documents in one bucket if you chose, even if they had many different
> shapes.
>
> A bucket really is just a namespace and the ability to set a few
> parameters for all documents in that namespace:
>
> n_val: the number of replicas of each document to be stored on  
> separate nodes
> allow_mult: whether or not to allow "sibling" objects
> chash_keyfun: the hashing function that translates {Bucket,Key} into a
> ring location
> and a few tuning parameters that you probably don't want to touch
>
>> If so, what is the best strategy for hosting multiple
>> "databases" on a single cluster of machines? Would one need to  
>> create a
>> whole bunch of separate Riak instances running on different ports?
>
> Well, it depends on what you mean -- as I said, there is no precise
> equivalent as Riak's clusters and buckets aren't quite the same as
> your RDBMS's databases and tables.  However, Riak is fairly low
> overhead, so it is easy to to as you say.  Just configure separate
> riak.erlenv files with a different cookie, different nodenames,
> storage locations, and so on.
>
>> Sorry if these are n00b questions or i've missed the point somehow,  
>> but any
>> advice would be most appreciated!
>
> We love n00b questions, as they mean that more people are using Riak.
>
> Cheers,
>
> -Justin
>





More information about the riak-users mailing list