Three of CouchDB’s creators show you how to use this document-oriented database as a standalone application framework or with high-volume, distributed applications. With its simple model for storing, processing, and accessing data, CouchDB is ideal for web applications that handle huge amounts of loosely structured data. That alone would stretch the limits of a relational database, yet CouchDB offers an open source solution that’s reliable, scales easily, and responds quickly.

CouchDB works with self-contained data that has loose or ad-hoc connections. It’s a model that fits many real-world items, such as contacts, invoices, and receipts, but you’ll discover that this database can easily handle data of any kind. With this book, you’ll learn how to work with CouchDB through its RESTful web interface, and become familiar with key features such as simple document CRUD (create, read, update, delete), advanced MapReduce, deployment tuning, and more.

1st Edition


Read it or help working on it in…

This edition of the book is a work in progress. Please create a ticket for any corrections or suggestions you may have.

Reader Reviews

“This is a great book. Clean, clear writing with helpful examples.”

— Shelley Powers, author of Learning JavaScript

“This book is pure awesome.”

— Damien Katz, creator of CouchDB

“I’m a big fan of this book. It’s one of the rare technical books that is so well-written that it’s a great read regardless of whether or not you’re actually trying to use the technology.”

— Rob Drimmie, CouchDB developer

“Definitely one of the best tech books I’ve read in quite a while.”

— Russell Branca, Elephant Breeder

Free License

This book is licensed under a Creative Commons Attribution license. That means you’re free to share and distribute the book however you like. You are also free to remix and adapt the book. We only ask that you attribute the book to us properly.

Open Source

All of the source code that goes into making this book is available on Github. That includes everything we used to publish as book on paper and on the Web. Get stuck in by creating tickets, forking the code, and making pull requests for your changes.

Many Languages

We draft and publish the book in English, but that doesn’t mean the book should only be available to other English speakers. Help out the community by providing a translation of the book in your language. It’s really easy, here’s how you get started.