----- 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