Hi Alk, Please see inline...
From: Aliaksey Kandratsenka <[email protected]<mailto:[email protected]>> Reply-To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Date: Tuesday, March 11, 2014 10:58 AM To: "[email protected]<mailto:[email protected]>" <[email protected]<mailto:[email protected]>> Subject: Re: request for comments: Project Left Ranger, range operations in Couchbase Very interesting. What's most unclear especially if you compare it to couchdb's _all_docs is whether this will be limited to single vbucket or not. I've gone back and forth on this one. At the moment, I think the best thing to do is for this to be able to target vbuckets or all vbuckets on a given node. Unlike the _all_docs which has to do the merge-sort in one place at the cluster, this does not define any collation and the client would handle the results. This should be very efficient and scale well. If it's limited to single vbucket then it's not as useful as _all_docs (unless we also deploy long due client-side extension to control sharding of docs into vbuckets). If it's across all vbuckets (like poor and "gonna die" _all_docs implementation of couchbase is doing) then it's risking to be too slow. Hm. I don't agree. I mean, it's 1024 * log(n) if you don't control sharding to buckets (which is not proposed), but it should not be slow since it's going straight to couchstore via ep-engine. Yes, there's a big burden at the client side. This may be in the client library or at the application. So, in that way, it's different than what's happening for all_docs's replacement. BTW there's http://www.couchbase.com/issues/browse/MB-10034 with some context on very similar requirement for document editing UI. Yes, just read that, thanks for pointing it out. There is some overlap, but I believe they are different things. Ultimately, I think we'll want similar range requests in UPR as well. As a matter of fact, I'd originally proposed that be closer to the approach, but Chiyoung suggested range queries and I rather like the suggestion for a couple reasons. One is that it's very general purpose. The other is that there is a lot going on in UPR as it stands and as Aaron pointed out, it's a very "streamy" kind of thing internally. This proposal uses a lot of existing pieces to do something very simple and very useful. The range portion is already there in couchstore and the ability to manage cursors visiting new items as they arrive is already there in ep-engine. In any event, the recent update I'd had (which I need to get more info on) is that UPR won't have any public interface for some time. It sounded like the initial release scope had been reduced. Thanks, Matt -- Matt Ingenthron Couchbase, Inc. -- You received this message because you are subscribed to the Google Groups "Couchbase" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
