I am currently forcing siblings for time series data. The maximum bucket sizes are very predictable due to the nature of the data. I originally used the get/update/set cycle, but as I approach the end of the interval, reading and writing 1MB+ objects at a high frequency kills network bandwidth. So now, I append siblings, and I have a cron that merges the previous siblings (a simple set union works for me, only entire objects are ever deleted). I can see how it can be dangerous to insert siblings, bit if you have some other method of knowing how much data is in one, I don't see size being an issue. I have also considered using a counter to know how large an object is without fetching it, which shouldn't be off by more than a few siblings unless there is a network partition. So aside from size issues, which can be roughly predicted or worked around, is there any reason to not create hundreds or thousands of siblings and resolve them later? I realise sets could work well for my use case, but they seem overkill for simple append operations when I don't need delete functionality. Creating your own CRDTs are trivial if you never need to delete. Thoughts are welcome, Jason
Forcing siblings other than for testing purposes is not typically a good idea; as you indicate, the object size can easily become a problem as all siblings will live inside the same Riak value. Your counter-example sounds a lot like a use case for server-side CRDTs; data structures that allow the application to add values without retrieving the server-side content first, and siblings are resolved by Riak. These will arrive with Riak 2.0; see https://gist.github.com/russelldb/f92f44bdfb619e089a4d for an overview. -John On Nov 12, 2013, at 7:13 AM, Olav Frengstad <[email protected]> wrote:
| ||
_______________________________________________ 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
