CouchDB Weekly News, June 29, 2017


Releases in the CouchDB Universe

  • coucharchive 1.1.0 (Python) – Dump/restore a whole CouchDB server contents to/from a single tar.gz file.
  • couchit 0.7.0 – Couchit is a database iterator with tools to validate and manage documents in a CouchDB database.
  • davenport 2.6.0 – Davenport is a CouchDB client for simplifying common tasks like get, list, create, update and delete. It comes complete with full TypeScript definitions.
  • logstash-input-couchdb_changes 3.1.2 (Ruby) – This gem is a Logstash plugin required to be installed on top of the Logstash core pipeline using $LS_HOME/bin/logstash-plugin install gemname.
  • rest-on-couch 5.1.0 – Interface to CouchDB that allows the control of permissions on the documents.
  • spicy-action 11.0.2 – Web proxy for CouchDB and others, plus Socket.IO relay


Opinions and other News in the CouchDB Universe

CouchDB Use Cases, Questions and Answers

Stack Overflow:

no public answer yet:

PouchDB Use Cases, Questions and Answers

Use Case:

  • Common PouchDB based runtime container code for Hyperledger Composer, a framework for building Blockchain business networks.

Stack Overflow:

no public answer yet:

For more new questions and answers about CouchDB, see these search results and about PouchDB, see these.

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 us with the work on the new CouchDB website? Get in touch on our new website mailing list and join the website team! –
  • The CouchDB advocate marketing programme is just getting started. Join us in CouchDB’s Advocate Hub!
  • CouchDB has a new wiki. Help us move content from the old to the new one!
  • Can you help with Web Design, Development or UX for our Admin Console? No Erlang skills required! – Get in touch with us.
  • 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 or ping Andy Wenk (awenkhh on IRC).

We’d be happy to welcome you on board!


Job opportunities for people with CouchDB skills

Time to relax!

  • “Charles Bukowski wisely once said, ‘Sundays kill more men than bombs.’” – The Science Behind the ‘Sunday Scaries’
  • “You can ‘run on empty’ for years before it hits you, but neglecting taking time for rest and relaxation can ultimately run you down and has the potential to burn you out. Just the same it can be hard to take the time for downtime. The key is to find small ways to bring it into your day-to-day routine. Once you do it’ll be a habit like any other self care routine.” – Rest And Relaxation Should Happen Every Day In Your Life. Here’s How.
  • “I’ve been meditating for over a decade, so I thought I was decently well versed in what the practice could do for me: twenty minutes of deep breathing calmed me down and helped me concentrate. I didn’t think there was much more to learn on an extended retreat. I was wrong.” – The Powerful Lifehack I Learned After 7 Days Of Silent Meditation
  • “In college, my therapist recommended I try meditation to curb my anxiety. At first, I was happy to oblige. I tried a variety of styles, from Zen meditation, which has you focus on breathing, to primordial sound mediation, which involves, well, making primordial sounds. It didn’t work.” – 6 Relaxation Hacks For People Who Hate Meditating
  • “Almost all types of meditation wake me up, making me feel more alert and attentive. And so for years I’ve searched for a meditation that specifically helps you fall asleep.” – Meditation for Insomnia and To Help You Fall Asleep

… and also in the news

Submit news to the CouchDB Weekly

Reach out to us with your news suggestions by sending us an email or by contacting us on Twitter @CouchDB.

Couchit and CouchDB, a user story

David Squier is a developer for Toyota, and the creator of Couchit, who is currently using CouchDB (and PouchDB) as the foundation for a rewrite of an existing application that will take it from a single-user/.NET model to a multi-user/Node.js/Cloud model. It’s not quite in production, but already has a fully functioning system with most the data tier complete.

He talked to us about how he first discovered CouchDB and what his experience has been like employing it in applications.

How did you hear about CouchDB, and why did you choose to use it?

I heard of CouchDB several years ago when I was working at Blizzard Entertainment. We looked at Couchbase, which was based on CouchDB. The company ended up going with Couchbase due to clustering support at the time (this was pre CouchDB 2.0).

Did you have a specific problem that CouchDB solved?

Yes. The CouchDB replication protocol and the related ecosystem (i.e., PouchDB) were the primary reason we chose CouchDB. Having written offline replication/synchronization systems in the past, I understood how complex and time-consuming such an effort is. Having an open-source replication protocol lets us build a reliable system on top of it and focus on serving our specific business needs.

For the folks who are unsure of how they could use CouchDB–because there are a lot of databases out there—could you explain the use case?

The application we’re building is called “Chassis Tuner” and it was built to work both on and offline. We run CouchDB in AWS as the canonical data source for the application.

If a user is online, they are connected to CouchDB in AWS.

If a user if offline, they run the same application, via an Electron wrapper, that embeds our React application with the Node.js server and PouchDB. A single configuration switch toggles between modes, with the offline mode replicating data from CouchDB to PouchDB.

By using pouchdb-node, we have a single API for both online and offline database operations, eliminating the need for different interfaces to handle each mode.

What would you say is the top benefit of using CouchDB?

The replication protocol. Without it, we would not be able to build our application (or would require many more months to develop a bespoke solution).

Second is the speed at which I can have other developers install, replicate, and develop with a local copy of the database is a big benefit.

What tools are you using in addition for your infrastructure? Have you discovered anything that pairs well with CouchDB?

Besides Fauxton, there are many requirements to modify existing documents, especially while in the development phase. These can be as simple as adding a new property to a document to performing dependent lookups based on keys referenced in a parent document to determine if the referenced document exists in the database.

We initially found a tool that fit the bill called Couchtato. Unfortunately, it is no longer actively maintained and lacked a number of features we needed. As a result, it was forked and has evolved into a new tool called Couchit, which we will use going forward.

Finally, we’ve created a schema registry that defines a number of high-level document “types” with standard properties. We use this to perform automated document validation using JSON Schema via AWS Lambda functions, as well as provide filtered replication.

What are your future plans with your project? Any cool plans or developments you want to promote?

Our current efforts are focused on our initial launch and the related operational data requirements. Once users start using the application and generating parts, vehicle setups, and running simulations we will start getting a rich set of data that can be used to build systems for analysis, reporting, and as inputs for machine learning.


For more about CouchDB visit or follow us on Twitter at @couchdb

Have a suggestion on what you’d like to hear about next on the CouchDB blog? Email us!