For everyone only familiar with the Cambodian Rural Development Team, here is a 
link to a GitHub CRDT project: https://github.com/ericmoritz/crdt

---
Jeremiah Peschka, MVP
Managing Director, Brent Ozar PLF, LLC

On Feb 5, 2012, at 9:33 AM, Sean Cribbs <[email protected]> wrote:

> Hi Nico,
> 
> Links are great when small in number, but run into issues when more numerous, 
> including HTTP header size limitations, plus the extra storage overhead of 
> bucket+key+tag on disk. I recommend using secondary indexes for this problem, 
> but you will need to be using the LevelDB storage engine.
> 
> Another possibility is to use an OR-set (CRDT) in a secondary key, as you 
> suggest. The difference between an OR-set and a flat list is that the former 
> will converge easily when there are conflicts. 
> 
> Sean Cribbs
> 
> On Feb 5, 2012, at 7:36 AM, Nicolas Petton <[email protected]> wrote:
> 
>> Hi!
>> 
>> We're working on a replacement of the old Smalltalk project hosting
>> website http://squeaksource.com/
>> 
>> For this app we'd like to use Riak, using the Smalltalk client
>> http://www.squeaksource.com/Phriak
>> 
>> You can think of SqueakSource as a Github-like app specific to Smalltalk
>> code. 
>> 
>> Now, my problem is we have a following/followers feature in the new app:
>> users can follow projects.
>> Some projects may have thousands of followers. We need to be able to get
>> followers of a projects *and* projects followed by an user quickly.
>> 
>> Typically, an user will follow a few projects, so this part is easily
>> solved with links. It becomes more complicated when it comes to getting
>> all users following a specific project, since it can be thousands, using
>> links looks like a bad idea.
>> 
>> I thought of the following solution, but I may be completely off the
>> tracks:
>> 
>> - users have links to projects they follow. 
>> - projects don't have links to the users following them, but a link to
>> 'following/projectKey'. This object represents the relationship itself,
>> and contains the list of the names of users following the project in a
>> JSON array.
>> 
>> This means following a project represents 2 writes, the user with the
>> link, and the 'following object'.
>> 
>> Does that seem reasonable?
>> 
>> Thanks,
>> Nico
>> 
>> 
>> _______________________________________________
>> riak-users mailing list
>> [email protected]
>> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com
> 
> _______________________________________________
> riak-users mailing list
> [email protected]
> http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

_______________________________________________
riak-users mailing list
[email protected]
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to