[
https://issues.apache.org/jira/browse/COUCHDB-1743?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13644570#comment-13644570
]
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: https://issues.apache.org/jira/browse/COUCHDB-1743
> 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: http://www.atlassian.com/software/jira