Joan,

I'd like to reassure that the question has been considered in reasonable depth. 
My wording was looser than it should have been.

However, the solution is non-obvious enough that a single "correct" way forward 
probably doesn't exist and reasonable people can argue in many directions. A 
perfect solution isn't possible within the constraints of the CouchDB API IMO, 
which leaves us with finding the least-bad solution in many ways, and trying to 
choose one where a path is open for improving longer term and reducing the 
necessary level of compromise.

For example, the move from calling it "shard local querying" (in the original 
proposal to the list) to "partitioned databases" was in large part driven 
directly from usability concerns and user mental model confusion -- and a 
desire to separate out via terminology what is more a developer level concern 
(logical data partitions) from admin level concerns (physical shard layout) 
such that the developer's abstraction has a clean and non-leaky mapping to what 
an admin is managing.

As to the exact API, my view is that making the feature very front-and-centre 
is less likely to be confusing than it being "hidden" lower down in the API 
structure, as it's an important concept to get straight early on if your 
use-case requires it. This also necessarily brings documentation further to the 
fore as we can't relegate discussion to the API reference as easily, which I 
also view as a positive.

-- 
Mike.

On Thu, 2 Aug 2018, at 12:17, Joan Touzet wrote:
> > I do agree with the confusion aspect of shards and partitions, and
> > I'm unsure exactly the way forward here yet :(
> 
> This is all I care about, and I'm cross that this hasn't been given
> more serious consideration, given CouchDB is already confusing for people
> coming from other databases. Make all the new features you want, but not
> at the expense of usability.
> 
> I've raised the issue but I don't have any great idea, other than to say
> I think /db/_shard/<range> is a suitable place for shard-specific operations
> to happen.
> 
> Help from this list is important before the new endpoint lands.
> 
> -Joan

Reply via email to