couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Samuel Williams (JIRA)" <>
Subject [jira] [Commented] (COUCHDB-1743) Make the view server & protocol faster
Date Mon, 29 Apr 2013 15:14:18 GMT


Samuel Williams commented on COUCHDB-1743:

Alexander, thanks for your input. The main issue as I see it, especially in light of the points
you make, is that the current communication mechanism is a very limited form of RPC. In many
ways, RPC is already a solved problem. However, we do have some specific use cases in CouchDB
(e.g. scheduling queries and returning results out of order which is not a typical in existing
RPC mechanisms). Re-engineering the protocol from scratch allows to build a general RPC interface
on which more advanced features can be built, rather than building custom RPC mechanisms as
presently implemented.

The proposal I wrote is based on JSON, and this is in line with what you've suggested. However,
there is the possibility for optional extensions as per the proposal. One option to reduce
data going across the wire is to use some form of compression. There are many compression
mechanisms that improve overall performance by sacrificing relatively fast CPU for relatively
slow IO.

With the existing "RPC" mechanisms, I think the situation going forward will only get more
complex and less maintainable. It also increases the burden on the implementor for the query
server as they must support each facet of the protocol specifically. What CouchDB needs to
solve this problem is a standard communication mechanism on which more advanced functionality
can be built, rather than trying to push all this functionality down into the communication
mechanism itself, and in this sense, a general functional execution model (e.g. what I've
proposed) such that new features in CouchDB don't require proportional number of changes across
all query servers (i.e. maintainability).
> Make the view server & protocol faster
> --------------------------------------
>                 Key: COUCHDB-1743
>                 URL:
>             Project: CouchDB
>          Issue Type: Improvement
>            Reporter: Dave Cottlehuber
>              Labels: couchdb, erlang, gsoc2013, html, javascript, nodejs, rest
> View server protocol enhancements/refactoring - unix sockets, pipelining, different wire
format etc. Faster!!

This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see:

View raw message