Riak n00b questions

Ishwar ishwarsridharan at yahoo.com
Mon Mar 14 06:15:38 EDT 2011

Hi Riak folks,

I'm new to Riak and have been reading up the wiki, watching videos and getting the development environment up and running.

I'll be using Riak as a key-value pair storage system, and run various MapReduce operations over the datastore for data analysis using the Python client. I have a few questions on the usage of python client.

1. For a 3-node cluster with number of copies for each document set to two, is there a way in which I wish to  distribute fetch requests uniformly across the three nodes?  I realise riak internally fetches the record from whichever node the data is available.
    This is the code I use to fetch values from keys:
            client = riak.RiakClient(host, port)
            bucket = self.client.bucket(bucketName)
            for key in keys:
                post = self.bucket.get(key)
     This would send all fetches to the same node. Is it better to put a loadbalancer in front of the three nodes to distribute the requests uniformly, or is creating a client object lightweight enough that I can dynamically connect to whichever client?

2. My familiarity with erlang and Javascript is minimal. Would somebody answer if the following things are doable/advisable to do?
     a. Most of the processes I want to run on the data are in python and php. Is it possible to call these processes from erlang/javascript?
     b. I've been looking for MapReduce tutorials for python client, but couldn't find any. Can somebody point to a sample MapReduce from python client, for example, to retrieve multiple records from Riak? (Given a set of keys [1,2,3,4], retrieve the records for these from Riak using MapReduce).

Thanks in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.basho.com/pipermail/riak-users_lists.basho.com/attachments/20110314/5e67d07f/attachment.html>

More information about the riak-users mailing list