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.


See more details below
CouchDB: The Definitive Guide

Available on NOOK devices and apps  
  • NOOK Devices
  • Samsung Galaxy Tab 4 NOOK 7.0
  • Samsung Galaxy Tab 4 NOOK 10.1
  • NOOK HD Tablet
  • NOOK HD+ Tablet
  • NOOK eReaders
  • NOOK Color
  • NOOK Tablet
  • Tablet/Phone
  • NOOK for Windows 8 Tablet
  • NOOK for iOS
  • NOOK for Android
  • NOOK Kids for iPad
  • PC/Mac
  • NOOK for Windows 8
  • NOOK for PC
  • NOOK for Mac
  • NOOK for Web

Want a NOOK? Explore Now

NOOK Book (eBook)
BN.com price
(Save 43%)$31.99 List Price


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.

  • Understand the basics of document-oriented storage and manipulation
  • Interact with CouchDB entirely though HTTP using its RESTful interface
  • Model data as self-contained JSON documents
  • Handle evolving data schemas naturally
  • Query and aggregate data in CouchDB using MapReduce views
  • Replicate data between nodes
  • Tune CouchDB for increased performance and reliability
Read More Show Less

Product Details

  • ISBN-13: 9781449382933
  • Publisher: O'Reilly Media, Incorporated
  • Publication date: 1/19/2010
  • Series: Animal Guide
  • Sold by: Barnes & Noble
  • Format: eBook
  • Edition number: 1
  • Pages: 272
  • Sales rank: 1,332,879
  • File size: 9 MB

Meet the Author

J. Chris Anderson is co-founder of Grabb.it, a Portland-based web startup which provides Web scale analytics for the music industry. He specialises in web search and large scale CouchDB deployment, both for Grabb.it and as an independent consultant.

Jan Lehnardt is also an Apache CouchDB committer and co-founder of Relaxed Technologies. Jan hacks on all parts of the web technology stack and focuses on making developers' lives easier.

Noah Slater is an Apache CouchDB committer and release manager. He works with the community to get CouchDB running in as many places as possible.

Read More Show Less

Table of Contents

Using Code Examples;
Conventions Used in This Book;
Safari® Books Online;
How to Contact Us;
Chapter 1: Why CouchDB?;
1.1 Relax;
1.2 A Different Way to Model Your Data;
1.3 A Better Fit for Common Applications;
1.4 Building Blocks for Larger Systems;
1.5 Local Data Is King;
1.6 Wrapping Up;
Chapter 2: Eventual Consistency;
2.1 Working with the Grain;
2.2 The CAP Theorem;
2.3 Local Consistency;
2.4 Distributed Consistency;
2.5 Wrapping Up;
Chapter 3: Getting Started;
3.1 All Systems Are Go!;
3.2 Welcome to Futon;
3.3 Your First Database and Document;
3.4 Running a Query Using MapReduce;
3.5 Triggering Replication;
3.6 Wrapping Up;
Chapter 4: The Core API;
4.1 Server;
4.2 Databases;
4.3 Documents;
4.4 Replication;
4.5 Wrapping Up;
Developing with CouchDB;
Chapter 5: Design Documents;
5.1 Document Modeling;
5.2 The Query Server;
5.3 Applications Are Documents;
5.4 A Basic Design Document;
5.5 Looking to the Future;
Chapter 6: Finding Your Data with Views;
6.1 What Is a View?;
6.2 Efficient Lookups;
6.3 The View to Get Comments for Posts;
6.4 Reduce/Rereduce;
6.5 Wrapping Up;
Chapter 7: Validation Functions;
7.1 Document Validation Functions;
7.2 Validation’s Context;
7.3 Writing One;
7.4 Wrapping Up;
Chapter 8: Show Functions;
8.1 The Show Function API;
8.2 Side Effect–Free;
8.3 Design Documents;
8.4 Querying Show Functions;
8.5 Etags;
8.6 Functions and Templates;
8.7 Learning Shows;
8.8 Using Templates;
8.9 Writing Templates;
Chapter 9: Transforming Views with List Functions;
9.1 Arguments to the List Function;
9.2 An Example List Function;
9.3 List Theory;
9.4 Querying Lists;
9.5 Lists, Etags, and Caching;
Example Application;
Chapter 10: Standalone Applications;
10.1 Use the Correct Version;
10.2 Portable JavaScript;
10.3 Applications Are Documents;
10.4 Standalone;
10.5 In the Wild;
10.6 Wrapping Up;
Chapter 11: Managing Design Documents;
11.1 Working with the Example Application;
11.2 Installing CouchApp;
11.3 Using CouchApp;
11.4 Download the Sofa Source Code;
11.5 Deploying Sofa;
11.6 Set Up Your Admin Account;
11.7 Configuring CouchApp with .couchapprc;
Chapter 12: Storing Documents;
12.1 JSON Document Format;
12.2 Beyond _id and _rev: Your Document Data;
12.3 The Edit Page;
12.4 Saving a Document;
12.5 Wrapping Up;
Chapter 13: Showing Documents in Custom Formats;
13.1 Rendering Documents with Show Functions;
13.2 Dynamic Dates;
Chapter 14: Viewing Lists of Blog Posts;
14.1 Map of Recent Blog Posts;
14.2 Rendering the View as HTML Using a List Function;
Deploying CouchDB;
Chapter 15: Scaling Basics;
15.1 Scaling Read Requests;
15.2 Scaling Write Requests;
15.3 Scaling Data;
15.4 Basics First;
Chapter 16: Replication;
16.1 The Magic;
16.2 Simple Replication with the Admin Interface;
16.3 Replication in Detail;
16.4 Continuous Replication;
16.5 That’s It?;
Chapter 17: Conflict Management;
17.1 The Split Brain;
17.2 Conflict Resolution by Example;
17.3 Working with Conflicts;
17.4 Deterministic Revision IDs;
17.5 Wrapping Up;
Chapter 18: Load Balancing;
18.1 Having a Backup;
Chapter 19: Clustering;
19.1 Introducing CouchDB Lounge;
19.2 Consistent Hashing;
19.3 Growing the Cluster;
Chapter 20: Change Notifications;
20.1 Polling for Changes;
20.2 Long Polling;
20.3 Continuous Changes;
20.4 Filters;
20.5 Wrapping Up;
Chapter 21: View Cookbook for SQL Jockeys;
21.1 Using Views;
21.2 Look Up by Key;
21.3 Look Up by Prefix;
21.4 Aggregate Functions;
21.5 Get Unique Values;
21.6 Enforcing Uniqueness;
Chapter 22: Security;
22.1 The Admin Party;
22.2 Basic Authentication;
22.3 Cookie Authentication;
22.4 Network Server Security;
Chapter 23: High Performance;
23.1 Good Benchmarks Are Non-Trivial;
23.2 High Performance CouchDB;
23.3 Bulk Inserts and Mostly Monotonic DocIDs;
23.4 Bulk Document Inserts;
23.5 Batch Mode;
23.6 Single Document Inserts;
23.7 Hovercraft;
23.8 Trade-Offs;
Chapter 24: Recipes;
24.1 Banking;
24.2 Ordering Lists;
24.3 Pagination;
Installing on Unix-like Systems;
Debian GNU/Linux;
Gentoo Linux;
Installing on Mac OS X;
Installing on Windows;
Installing from Source;
Security Considerations;
Running Manually;
Running As a Daemon;
JSON Primer;
Data Types;
The Power of B-trees;

Read More Show Less

Customer Reviews

Be the first to write a review
( 0 )
Rating Distribution

5 Star


4 Star


3 Star


2 Star


1 Star


Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation


  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing 1 Customer Reviews
  • Posted December 20, 2010

    This "NookBook" won't open on my nook

    CouchDB will not open on my nook. How utterly disappointing since I purchased my nook with the intent of using it to manage my technical library. Is there no QA for ebooks? It gets better. This title is licensed under the GPL, it is available directly from the authors as a free download. I knew this and only purchased it to ensure it would be correctly formatted for the nook. Oh the irony. The best part? I have no recourse. Nookbooks can not be returned. The nook however can be returned... The book itself is very useful and well written (I have it on my PC in PDF format).

    1 out of 2 people found this review helpful.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing 1 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)