I'll chime in here as a fairly fresh CouchDB user, so TIFWIW:

What I would like is the ability to specify a view that takes a key/value map.  
Behind that view would be indexes for n number of k-v pairs in that map in any 
permutation order. E.g.:

function(doc, {keynames: ['shape', 'size', 'color'], permute: 2}) {
        emit(...)
}

which would generate 6 views ( [shape, size], [shape, color], [size, shape], 
[size,color], [color, shape], [color, size] ) which would be used to access via 
index a subset of docs, then filter based on the third key-value, if any.  It 
would choose which index to use based on the least # of docs in each view.

I realize that the permute param results in a factorial # of views (permuting 5 
k-v pairs = 120 views); what is the practical limit?  I assume it would depend 
on the # of documents in a db.

Jini does something like this (API-wise), but it's for config management and 
not really designed for high-performance.

-- Jeff

On Nov 15, 2013, at 1:03 AM, Stanley Iriele wrote:

> Interesting read...
> 
> One of the reasons I like CouchDB so much is that it kind of transcends the
> traditional notion of a database with http web server like capabilities
> that allow for some very interesting architectures. Moving that around and
> trying to shift it in either direction would make it "like its
> competitors"....I think It should remain as is truth be told. There are
> some things that need to be enhanced..and perhaps adding plugins could be
> cleaner.
> 
> @Dave CouchApps aside, I think CouchDB is just as much one as it is the
> other. I recently used the OS Deamons functionality with proxying for a
> little reverse proxy action and I can't tell how slick it was. When I
> showed my coworkers what was going on they the re-occuring theme was .."It
> can do that too?"..Why yes...yes it can :-D
> 
> 
> On Fri, Nov 15, 2013 at 12:49 AM, Dave Cottlehuber <d...@jsonified.com>wrote:
> 
>> On 14. November 2013 at 20:45:55, Ryan Mohr (r...@kumu.io) wrote:
>>> 
>>> The show/list thread (posted by thomas.b...@ptb.de) recently
>>> sparked an
>>> interesting debate. Like Joan, I too feel that CouchDB tries
>>> to handle way
>>> more than it should. (Caveat -- I actually take this stance to
>>> the extreme
>>> believing that the couchapp behavior and utilities like futon/fauxton
>>> shouldn't be included in the core installation.)
>>> 
>>> IMO the show/list behavior is an application concern, not a database
>>> concern, and should be handled by the application server or client.
>>> If you
>>> think of CouchDB as your database and your application server
>>> the line
>>> quickly gets blurry.
>>> 
>>> I'm curious, where does the dev team draw the line on couchdb's
>>> responsibilities? The fact that it's already an api+database+services
>>> suggests there won't be any concrete boundaries. All must be
>>> by design.
>>> 
>>> 
>>> Some related articles:
>>> http://insideintercom.io/product-strategy-means-saying-no/
>>> http://zurb.com/article/744/steve-jobs-innovation-is-saying-no-to-1-0
>> 
>> Good links.
>> 
>> Personally, I like the idea of a lean core, comprising k/v b-tree store on
>> disk + replication. And pretty much everything else as plugin/extensions.
>> 
>> For me, CouchDB is JSON docs + attachments, with streaming HTTP API for
>> docs, attachments, views/db, changes, security authorisation  +
>> replication. I think the rest could be taken out — plugins, incl show/list
>> and authentication.
>> 
>> CouchApps are a unique feature but in principle can be added to any db
>> that supports HTTP, arbitrary binary blobs & mime content type. It’s just
>> that with couch’s other features its just so yummy. I still love the fact
>> that the whole iriscouch website is a single couchdb document. That’s
>> awesome.
>> 
>> Maybe an appropriate objective for the project post merge completion?
>> 
>> A+
>> Dave
>> 
>> 

Reply via email to