On Sat, Sep 4, 2010 at 11:31, John Axel Eriksson <j...@insane.se> wrote:

> Listing keys in a bucket has been described as "bad" and something you use
> in development but
> not in production. I'm just starting out on Riak so I'm a newbie...
>
> I'm thinking of building an application using Riak as filestorage and
> possibly much more than that, but it would
> at least store lots of files with, perhaps, metadata attached. How would I
> then list files for display in a webapp if
> I don't use key listing?
>

I'm still very much a Riak newb myself, but I'll take a shot at answering
this one by suggesting the use of links.

>From what I understand, links some quantity limits when you attach a large
number, but adding and removing them is an inexpensive operation.  (Someone
fact check me on that please :)

- Create a key called 'listing', perhaps even in its own bucket to prevent
namespace collision.

- Create links from that 'listing' key to metadata keys.  Remember that you
can attach a tag to each link to differentiate different types of links,
such as "metadata".

- The metadata keys' values would contain file metadata in JSON form, and in
turn have a link to the file contents key, tagged "contents".

- Remember to attach the proper mime type to the key containing your file
contents.

- To get a file listing, do a map/reduce starting at "listing", following
its "metadata" links and grabbing those values, then reduce to sort by a
key.

- To get file contents, follow the "contents" link from the metadata key.

--
Matthew Scott
ElevenCraft, Inc.
http://11craft.com/
+1 360 389-2512
_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to