Is there a general rule to estimate the maximum disk space for a CouchDB database? (see thread)
Question: A user asked if there’s a way to roughly estimate the maximum disk space needed for a CouchDB database.
- That’s extremely hard to tell. If users update each document individually, they need more disk space than if they use bulk updates on multiple documents at once (until compaction runs).
- Users also need to take account for the views and their compaction (there was an example by another user of a view of 6,6GB before and 187MB size after compaction).
- It may also depend on how good the data compresses.
- Example: a CouchDB with 1000 documents of 1kb size added in the beginning of each day, that updates every hour. So for single day there’d be 1MB of initial data plus 23MB from revisions. 24MB per day results in 720 MB per average month and 8.7 GB per year. However, for each day 23MB of overhead data for previous revisions are accumulated, which could be cleaned up during compaction. So if users run compaction at the end of day, 1MB per day will be the grow rate.
- It’s lso worth to take into account that while CouchDB cleans up old revisions on compaction, it doesn’t removes their ids from the document to preserve its history: this will give users also small size overhead on top, but no significant one.
- Additionally it’s worth to know that CouchDB grows db by 4KiB chunks, no matter if the stored document is even smaller then, and that the file system may preallocate more space for a file than it actually contains.
Setting up CouchDB 2.0 (see thread)
Since the community is getting close to feature completeness, the topic of setting up CouchDB 2.0 solo and as a cluster was brought up and is now being discussed. Starting what is being envisioned (see initial email), this needs to be squared against the current implementation, required engineering and security considerations. You’ll find the complete discussion here.
Physical database movement without shutting down CouchDB (see thread)
Question: Is there any way to move database files physically without shutting down the whole CouchDB engine?
Answer: One approach could be to use mdadm with the “build” option to mirror the current device to the new device, remove the old device from the mirror and then perform a resize operation on the filesystem of the new device to gain access to the extra storage. All those steps may be doable online.
Learning a lot about and getting into CouchDB (see thread)
Question: Which ways are there for getting into CouchDB and learning more about it?
Answer: These are some of the main resources for learning more about CouchDB:
- The CouchDB Documentation
- The CouchDB Blog
- and the CouchDB Wiki (the old Wiki is here, moving content to the new one is work in progress)
Releases in the CouchDB Universe
- learnyoucouchdb 1.0 – Learn you CouchDB for great good
- hapi-auth-couchdb 0.0.0 – hapi auth plugin to check authentication against CouchDB
- express-pouchdb 0.7.1 – express submodule with a CouchDB style REST interface to PouchDB
- express-user-couchdb 0.3.4 – an express app module connected to couchdb _users table
Opinions and other News in the CouchDB Universe
- Mnesia and CAP
- Often CouchDB is used to stream results from a view query to a browser. But how much JSON can the browser take before it implodes? These guidelines may save you some time: How big is too big for JSON?
- Starting With Node.Js And CouchDB Without Libraries Like Nano Or Cradle
Use Cases, Questions and Answers
- Tutorial: Learn you CouchDB! – A series of self-guided workshops for learning how to use CouchDB (see announcement for details)
- Stack Overflow: Hoodie – Update a CouchDB document (Node.js)
- Stack Overflow: Implications of modeling a graph in CouchDB
- Stack Overflow: CouchDB view with include_docs=true yields doc: null
- Stack Overflow: How to globally add CORS to couchdb for testing
- Stack Overflow: PouchDB as a real live data tool for different collections
- Stack Overflow: CouchDB replies with 404 Object not found when HTTP POST is used
No public answer yet:
For more new questions and answers about CouchDB, see these search results.
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 email@example.com or ping Andy Wenk (awenkhh on IRC).
We’d be happy to have you!
- September 25, San Francisco, CA, USA: ErLounge SF/Bay – The Erlang Meetup
- October 1, Vienna, Austria: Vienna BEAMers – Erlang & Elixir User Group
- October 9, Berlin, Germany: CouchDB Hack Night
- October 15, Calgary, Canada, SMAC Calgary: Introduction to Cloudant, a fully-managed NoSQL database-as-a-service (DBaaS)
- November 17, Denver, CO, USA, HTML5 Denver Users Group: Creating CouchDB Apps
- November 17-21, Budapest, Hungary: ApacheCon EU 2014 with an entire CouchDB Track
Time to relax!
- “We all have moments that change the way we think, the way that we look at the world, the things we want to do with our lives. On July 20, 1969 a whole generation of Americans had one of those transforming experiences: Two men landed on the Moon and nothing was ever the same again. Why did we go to the Moon? How did we get there? What was it like to witness it all? And what does any of this have to do with writing software 40 years later?” – Russ Olsen: Going to the Moon (talk video)
- “We as members of Open Source Communities have to implement a culture where mental health issues are not stigmatized, … a culture in which people are heard and they know that there are people who care for them.” – This is bigger than us: Building a future for Open Source (presentation slides with notes)