riak-0.9.2 /

Filename Size Date modified Message
260 B
50 B
114 B
9.9 KB
688 B
276 B
5.3 KB
1.0 KB
715 B
32 B
3.3 KB
441 B
463 B
424 B
898 B
949 B
940 B
Welcome to Riak.

Riak is a distributed, decentralized data storage system.

Below, you will find the "quick start" directions for setting up and
using Riak.  For more information, browse the following files:

 README:  this file
 TODO:    a list of improvements planned for Riak
 LICENSE: the license under which Riak is released
 *.sh:    various startup scripts
 riak_demo.escript:  demo for a base level of Riak functionality
   basic-setup.txt:  slightly more detail on setting up Riak
   basic-client.txt: slightly more detail on using Riak
   architecture.txt: details about the underlying design of Riak,
                     and how this affects applications using it
   index.html:       the root of the edoc output of 'make docs'
   *.erl:            the source for Riak (it's friendly)
   *.erlenv:         example configuration files

Quick Start

This section assumes that you have copy of the Riak source tree at
$RIAK.  You should have created this by cloning a repo or expanding
a tarball from somewhere.

The quick start goes like this:

1. Build Riak
2. Start the Riak server
3. Connect a client and store/fetch data

1. Build Riak
Assuming you have a working Erlang (R13 or later) installation,
building Riak should be as simple as:

$ cd $RIAK
$ make

2. Start the Riak server - Assuming no errors were generated in the
build step, $RIAK/config/riak-demo.erlenv and replace all instances of
$RIAK with the directory in which $RIAK is installed.  For example,

{riak_heart_command, "(cd $RIAK; ./start-restart.sh $RIAK/config/riak-demo.erlenv)"}.


{riak_heart_command, "(cd /usr/local/riak; ./start-restart.sh /usr/local/riak/config/riak-demo.erlenv)"}.

Then start riak:

$ cd $RIAK
$ ./start-fresh.sh config/riak-demo.erlenv

The server should start, then background itself, leaving you at a
command prompt.

At this point, you can use riak_demo.escript to ensure that Riak is

$ ./riak_demo.escript config/riak-demo.erlenv
Attempting to connect to with cookie riak_demo_cookie...
Connected successfully
Looking for pre-existing object at {riak_demo, "demo"}...
  No pre-existing object found, creating new
Storing object with new value...
  Written successfully
Fetching object at {riak_demo, "demo"}...
  Fetched successfully
  Object contained correct value

If riak_demo prints no "Error: ..." messages, and instead prints
"SUCCESS", then Riak is working.

3. Connect a client
Assuming no errors were generated during the server start step, a
simple client interaction will look like:

$ erl -name riaktest@ -pa $RIAK/ebin

(riaktest@> %% connect to Riak
(riaktest@> {ok, C} = riak:client_connect("", 9000, riak_demo_cookie).

riaktest@> %% Create a shopping list for bread at /groceries/mine
riaktest@> O0 = riak_object:new(groceries, "mine", ["bread"]).

(riaktest@> %% store the list
(riaktest@> C:put(O0, 1).

(riaktest@> %% retrieve the list
(riaktest@> {ok, O1} = C:get(groceries, "mine", 1).

(riaktest@> %% extract the value
(riaktest@> V = riak_object:get_value(O1).

(riaktest@> %% add milk to the list
(riaktest@> O2 = riak_object:update_value(O1, ["milk"|V]).

(riaktest@> %% store the new list
(riaktest@> C:put(O2, 1).

(riaktest@> %% find out what else is in the groceries bucket
(riaktest@> C:list_keys(groceries).
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.