Pub. Date:
CouchDB: The Definitive Guide

CouchDB: The Definitive Guide


View All Available Formats & Editions
Choose Expedited Shipping at checkout for delivery by Thursday, September 30


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

Related collections and offers

Product Details

ISBN-13: 9780596155896
Publisher: O'Reilly Media, Incorporated
Publication date: 02/03/2010
Series: Animal Guide Series
Pages: 245
Product dimensions: 6.90(w) x 9.10(h) x 0.60(d)

About the Author

J. Chris Anderson is co-founder of, 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 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.

Table of Contents

  • Dedication
  • Foreword
  • Preface
  • Introduction
    • Chapter 1: Why CouchDB?
    • Chapter 2: Eventual Consistency
    • Chapter 3: Getting Started
    • Chapter 4: The Core API

  • Developing with CouchDB
    • Chapter 5: Design Documents
    • Chapter 6: Finding Your Data with Views
    • Chapter 7: Validation Functions
    • Chapter 8: Show Functions
    • Chapter 9: Transforming Views with List Functions

  • Example Application
    • Chapter 10: Standalone Applications
    • Chapter 11: Managing Design Documents
    • Chapter 12: Storing Documents
    • Chapter 13: Showing Documents in Custom Formats
    • Chapter 14: Viewing Lists of Blog Posts

  • Deploying CouchDB
    • Chapter 15: Scaling Basics
    • Chapter 16: Replication
    • Chapter 17: Conflict Management
    • Chapter 18: Load Balancing
    • Chapter 19: Clustering

  • Reference
    • Chapter 20: Change Notifications
    • Chapter 21: View Cookbook for SQL Jockeys
    • Chapter 22: Security
    • Chapter 23: High Performance
    • Chapter 24: Recipes

  • Appendixes
    • Installing on Unix-like Systems
    • Installing on Mac OS X
    • Installing on Windows
    • Installing from Source
    • JSON Primer
    • The Power of B-trees

  • Colophon

Customer Reviews