And here are the posts in question, which I clearly need to re-read (thanks for the gentle reminder, Alexander
http://blog.basho.com/2010/03/19/schema-design-in-riak---introduction/ http://blog.basho.com/2010/03/25/schema-design-in-riak---relationships/ http://blog.basho.com/2010/07/09/webinar-recap---schema-design-for-riak/ And this video covers a tiny bit of schema design: http://vimeo.com/14275191 I know what I'm doing with my afternoon. Jeremiah Peschka Microsoft SQL Server MVP MCITP: Database Developer, DBA 614.515.0727 On Fri, Oct 15, 2010 at 8:58 AM, Alexander Sicular <[email protected]>wrote: > State > zip > person with links in between seems very normalized to > me. Ya, you can do it, but I wouldn't. You in flat space now. > Denormalize ftw. > > Sean Cribbs had a blog post on m/r'ing over some people and I have a > post on using m/r to sort by date. Google will find em. > > -Alexander > > On 2010-10-15, Jeremiah Peschka <[email protected]> wrote: > > Based on my experience, you're on the right track. > > > > In addition to your main 'entity' buckets, you'll want to create index > > buckets that you use to speed lookups and create links back to the entity > > buckets. > > > > e.g. If you have a People bucket that is a nested record for a person > with a > > mailing address, you might want to create some kind of States bucket with > > links to a ZipCodes bucket with further links to the People bucket. This > way > > you can do link traversal from a state -> zip code -> person. > > > > To perform aggregations, you can use MapReduce. Using buckets and link > > walking can make it very easy to perform operations that closely mimic > index > > seeks. > > > > Someone correct me if I've gone completely off the deep end on this one > :) > > > > Jeremiah Peschka > > Microsoft SQL Server MVP > > MCITP: Database Developer, DBA > > 614.515.0727 > > > > > > On Fri, Oct 15, 2010 at 1:49 AM, Cagdas Tulek <[email protected]> wrote: > > > >> Hi, > >> > >> I'm a newbie to Riak (and riak like databases) and unfortunately I am a > >> long time RDB user. So, my mind is very biased but I try to think > >> differently and this will take some time. > >> > >> What I understand is that you try to avoid range queries and map/reduce > >> operations for live traffic. This part, I guess I understand better. > >> > >> However, one thing that I don't understand is the needs on admin side. > >> Although on frontend you can play smart to limit the objects that a user > >> should interact, on the admin side you usually want to list all records > >> and > >> usually you want them to be sorted by id or creation time. These are > also > >> true for your stats etc. > >> > >> How do you design your buckets in Riak to solve this problem? Or do you > >> use > >> different approaches on admin side. > >> > >> One (maybe dirty) solution with my RDB biased mind is to have auxiliary > >> buckets to list items: > >> books/book1..n > >> lists/list1..n > >> where list-i is an array of x keys (where x is a small number like 10, > >> 20). > >> This way we can have features like pagination. Same thing maybe for > days: > >> days/20101014 > >> > >> I try to find slides/documents about these topics but usually the > >> information I find is about dealing with individual items and their > >> relations, not a list of these items. > >> > >> I would appreciate any resources addressing these problems. > >> > >> Best, > >> > >> Cagdas > >> > >> > >> _______________________________________________ > >> riak-users mailing list > >> [email protected] > >> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com > >> > >> > > > > -- > Sent from my mobile device >
_______________________________________________ riak-users mailing list [email protected] http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
