Major Discussions
Vote (ongoing): Official CouchDB Bylaws (see thread)
The vote on the official CouchDB bylaws started on Monday, July 21 (see initial email). According to feedback, the bylaws were updated on July 22, it’s now being voted on this revised, current version of the bylaws and the vote is still in progress. Binding votes can be casted by CouchDB Project Management Committee (PMC) members. Still, as this is the first vote of its kind, and this document is foundational to our decision-making process in the future, the CouchDB PMC is asking all active committers to cast voluntary, non-binding votes as well. All votes must be received by 23:59:59 UTC on Sunday, July 27, 2014.
Progress in work on Fauxton (see GitHub)
The work on the Fauxton implementation is going on and making good progress in preparation for CouchDB 2.0. It has just been merged in the new Fauxton sidebar redesign:
If you want to take a closer look: you’ll find the discussion and screenshots here.
Optimizing views (see thread)
Question: a CouchDB user has a simple user document containing fields such as gender, age and dates. They want to request these documents by age, or gender, or dates or a mix of these criteria. Is it more efficient to create a single view containing several emits, or to create several views, each of them containing one emit statement?
Answers:
- Creating several views may be better, since each one will be slightly faster to search.
- Also, with one view, it can be easy to get mixed up between different types of keys.
- Multiple views also allows to split them across design documents, which means they can be built independently and in parallel.
- Regarding the specific use case described in the question, this user falls in the field of multi-dimensional queries, which CouchDB isn’t suited for. The solution generally is to use couchdb-lucene or even elasticsearch or something similar.
How many views per desgin doc in CouchDB? (see thread)
Question: Is it better to define one view per design doc? If I have e.g. 8 views for a given person design doc, would they better be placed in one single doc or breaked into smaller units?
Answers:
- The answer heavily depends on the specific use case. In general, one can
split views that are slightly slower to process into separate design documents so that they may be run in parallel. In the case of a query that
requires a (re)build (e.g. no stale=ok or update_after), then this also
means that one only has to wait for the one view to finish. - The smaller unit will save a lot of trouble, especially when updating the code of large views.
- On the other hand, if the views are re-indexed independently, then each task is reading the documents out of the database. Whereas if the views are in the same design document, the documents only get read once and then passed to each view’s map function. This may be faster, but also depends on details of the view engine used.
Releases in the CouchDB Universe
- node-couchdb-api 0.0.10 – Module to invoke CouchDB services
- happstack-lite-couch-boilerplate – authentication boilerplate; starting point for web developers who want to use Haskell and CouchDB to produce JSON APIs
- couch-web 0.2.4 – A boilerplate for CouchDB web apps
- express-user-couchdb 0.3.3 – An express app module connected to couchdb _users table
- achilles-couchdb 0.1.3 – CouchDB adapter for Achilles
- highland-couchr 1.1.0 – Highland streams style API to CouchDB, using couchr under the hood
- highland-couchdb-alldocs 1.0.0 – Provides a Highland Streams API for iterating over all ids or documents in a CouchDB database
Opinions and other News in the CouchDB Universe
- CouchDB and MongoDB: Let our query APIs combine!
- Out in the Open: Ex-Googlers Building Cloud Software That’s Almost Impossible to Take Down: about CockroachDB
Use Cases, Questions and Answers
- Stack Overflow: Handle updating documents at the same time in CouchDB?
- Stack Overflow: CouchDB get value of variable keys with view mapper
- Stack Overflow: Rewrite URLs with CouchDB
- Stack Overflow: CouchDB view index performance
- Stack Overflow: CouchDB as Cordova/Phonegap database
- Stack Overflow: disabling revision feature from CouchDB
no public answer yet:
- Stack Overflow: Serving file with CouchDB attachment?
- Stack Overflow: How to use jQuery autocomplete with the backend CouchDb
- Stack Overflow: CouchDB 1.5.0 user document update
For more new questions and answers about CouchDB, see these search results.
Get involved!
If you want to get into working on CouchDB:
- We have an infinite number of open contributor positions on CouchDB. Submit a pull request and join the project!
- Do you want to help moving the CouchDB docs translation forward? We’d love to have you in our L10n team! See our current status and languages we’d like to provide CouchDB docs in on this page. If you’d like to help, don’t hesitate to contact the L10n mailing list on l10n@couchdb.apache.org or ping Andy Wenk (awenkhh on IRC).
We’d be happy to have you!
Events
- August 5, Toronto, Canada – NoSQL for SQL Professionals
- August 23, FrOSCon, Bonn, Germany – lecture: A CouchDB replication endpoint in PHP (talk)
Job opportunities for people with CouchDB skills
- Developer Advocat, Munich, Frankfurt or Berlin, Germany
- Web Developer | Full Stack, Lausanne, Switzerland
- Back End Developer, London, United Kingdom
- DevOps Engineer, Cambridge, United Kingdom
- Backend Developer (Big Data), Paris, France
Time to relax!
- “During the [basketball] game’s particularly tense moments, [Michael Jordan] seemed to maintain a relaxed posture. When the other team had the ball, he was ready to pounce. Yet, even during critical moments within the game, while maintaining his ready position, he had an air of relaxation.” – Learn to relax in high pressure situations and you just might win more business