<html><body bgcolor="#FFFFFF"><div>Another thing to keep in mind is that an individual document has higher overhead than a row in a table. If you think about all the metadata that accompanies a document in riak you will notice that the ratio of overhead to value is higher the smaller your value is, like say two character state codes or 5 character zip codes. <br><br></div><div>-Alexander<br><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.292969); -webkit-composition-fill-color: rgba(175, 192, 227, 0.226562); -webkit-composition-frame-color: rgba(77, 128, 180, 0.226562);"><br></span></div><div><span class="Apple-style-span" style="-webkit-tap-highlight-color: rgba(26, 26, 26, 0.296875); -webkit-composition-fill-color: rgba(175, 192, 227, 0.230469); -webkit-composition-frame-color: rgba(77, 128, 180, 0.230469); ">@siculars on twitter</span></div><div><a href="http://siculars.posterous.com">http://siculars.posterous.com</a></div><div><br></div>Sent from my iPhone</div><div><br>On Oct 15, 2010, at 9:20, Jeremiah Peschka <<a href="mailto:jeremiah.peschka@gmail.com">jeremiah.peschka@gmail.com</a>> wrote:<br><br></div><div></div><blockquote type="cite"><div>And here are the posts in question, which I clearly need to re-read (thanks for the gentle reminder, Alexander<div><br></div><div><a href="http://blog.basho.com/2010/03/19/schema-design-in-riak---introduction/"><a href="http://blog.basho.com/2010/03/19/schema-design-in-riak---introduction/">http://blog.basho.com/2010/03/19/schema-design-in-riak---introduction/</a></a></div>

<div><a href="http://blog.basho.com/2010/03/25/schema-design-in-riak---relationships/"><a href="http://blog.basho.com/2010/03/25/schema-design-in-riak---relationships/">http://blog.basho.com/2010/03/25/schema-design-in-riak---relationships/</a></a></div><div><a href="http://blog.basho.com/2010/07/09/webinar-recap---schema-design-for-riak/"><a href="http://blog.basho.com/2010/07/09/webinar-recap---schema-design-for-riak/">http://blog.basho.com/2010/07/09/webinar-recap---schema-design-for-riak/</a></a></div>

<div><br></div><div>And this video covers a tiny bit of schema design: <a href="http://vimeo.com/14275191"><a href="http://vimeo.com/14275191">http://vimeo.com/14275191</a></a></div><div><br></div><div>I know what I'm doing with my afternoon.</div><div><br clear="all">

Jeremiah Peschka<br>Microsoft SQL Server MVP<br>MCITP: Database Developer, DBA<br>614.515.0727<br>
<br><br><div class="gmail_quote">On Fri, Oct 15, 2010 at 8:58 AM, Alexander Sicular <span dir="ltr"><<a href="mailto:siculars@gmail.com"><a href="mailto:siculars@gmail.com">siculars@gmail.com</a></a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

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