----- Original Message -----
From: "Russell Brown" <russell.br...@me.com>
To: "Jason Campbell" <xia...@xiaclo.net>
Cc: "riak-users" <riak-users@lists.basho.com>, "Viable Nisei" 
<vsni...@gmail.com>
Sent: Saturday, 21 December, 2013 8:25:01 PM
Subject: Re: May allow_mult cause DoS?

>Hi,

>What is a "sibling with no parent object”? I think I understand what you’re 
>getting at, when each sibling is some fragment of the whole, is that it?

Within Riak, siblings created with a supplied vclock, usually with no related 
data to any other sibling.

>This is similar, i suppose, to Riak 2.0 data types. We send an operation to 
>Riak, and apply that inside the database rather then fetching, mutating, 
>writing at the client. Think of adding to a Set, you just send the thing to be 
>added and Riak merges it for you. For your use case would a user defined merge 
>function in the database be a valuable feature? It would be every better if 
>Riak stored data differently (incrementally, append-only rather than 
>read-merge-write at the vnode.) These are things we’re going to be working on 
>soon (I hope!) I had no idea that people used siblings this way. It’s 
>interesting.

I actually wrote a reply that was a few pages, but it probably doesn't belong 
on this mailing list.  I'll write up a blog post and share it when I get some 
time about the problems I was trying to solve, and why I chose Riak despite not 
fitting the best.

I haven't tried Riak sets yet, it's on my to-do list.  I think it will replace 
siblings if it works the way I expect it to, but that needs to be validated.  
As far as a custom merge, I'm not sure I would want my Riak cluster doing that. 
 Personally, I would rather the memory and CPU time of my database be used to 
service requests and not mangle data that should be done in the application 
(once per object usually, not every write).  I'm sure some people would find it 
useful, but I wouldn't use it, even if it was there.

For things like logging and time-series data though, an append-only set would 
be helpful.  It would be easier to implement in Riak than the current CRDT set, 
require much less metadata, and fit certain use cases better.  Entire object 
keys can still be deleted when data expires, but data would never be updated or 
deleted with a single object.

Thanks,
Jason

_______________________________________________
riak-users mailing list
riak-users@lists.basho.com
http://lists.basho.com/mailman/listinfo/riak-users_lists.basho.com

Reply via email to