couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Joan Touzet <woh...@apache.org>
Subject Re: CouchDB Next
Date Fri, 30 Sep 2016 18:18:23 GMT
Thanks for all the great feedback, everyone! I'm so happy to see
continued enthusiasm for our little project. :)

I don't have a lot of great ideas of things I'd like to see implemented
in CouchDB itself, but I wanted to turn the clock back to the last time
we went through this exercise: events following on from the CouchDB
Summit we held with Cloudant in 2012.  (We had just released CouchDB
1.2.0 at that time.)

During that summit, we came up with a short list of things we'd like to
do in CouchDB, a list we've been chipping away at for a long time now.

Robert Newson did a summary of the ideas with traction, with commentary
here[1]:

  https://gist.github.com/rnewson/2387973

There's still some topics here worth considering. I won't paste all of
rnewson's commentary here, but from his list, here are the headlines of
things that we still don't have that we should continue to consider (some
of which have already been raised in this thread):


User-facing features
====================
1. Conflicts are the rule, not the exception
   AKA Conflicts as first-class citizens:
   * Always surface the conflict on read
   * Always accept a write, assuming it passes validation
3. Improve the user and security model
4. Remove reserved metadata from documents
8-10. Support HTTP/2
12. Richer querying model (chained queries, "joins," etc)
13. Partial updates of documents
14. Partial reads of documents
15. Create an exclusive namespace for databases (/_db/<dbname>)
18. Documentation
20. Allow database renaming
21. Database "aliases" (symlinks)
22. _changes feed for views (or things that approach this)

**. Easier external authentication (OAuth 2.0, SAML, JWP, OpenID, etc.)
    * Note: restricted to CouchDB as auth client, not provider


Developer-facing features
=========================
2. Different HTTP engine (cowboy)
4. Improve test suite (we still need more work here, esp. for
   clustered tests)
5. Move attachments out of database files (which removes
   make_blocks)
6. Plugin/addon/module interface
7. View server protocol enhancements/refactoring (avoid double
   marshalling to/from JSON, for instance)
9. Database corruption detection and repair


Finally, I'd like to add just one topic that we've been discussing
perenially but hasn't come up here yet: completely deprecate and remove
the :5986 "backend" couch_httpd interface by 3.0. It's already causing
user confusion, and we always intended to get rid of it, so now's the
time.

[1]: For reference, the full list of suggestions and public votes
on them are here: http://www.allourideas.org/couchdb2012/results?all=true

I'd be happy to start up another pairwise-comparison process for our
2016 ideas if people would like. Ranking of the brainstormed ideas so
far would be a great next step.

-Joan

Mime
View raw message