Book Description
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.
This open book is licensed under a Creative Commons License (CC BY). You can download CouchDB: The Definitive Guide ebook for free in PDF format (3.8 MB).
Table of Contents
Part I
Introduction
Chapter 1
Why CouchDB?
Chapter 2
Eventual Consistency
Chapter 3
Getting Started
Chapter 4
The Core API
Part II
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
Part III
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
Part IV
Deploying CouchDB
Chapter 15
Scaling Basics
Chapter 16
Replication
Chapter 17
Conflict Management
Chapter 18
Load Balancing
Chapter 19
Clustering
Part V
Reference
Chapter 20
Change Notifications
Chapter 21
View Cookbook for SQL Jockeys
Chapter 22
Security
Chapter 23
High Performance
Chapter 24
Recipes
Part VI
Appendixes
Appendix A
Installing on Unix-like Systems
Appendix B
Installing on Mac OS X
Appendix C
Installing on Windows
Appendix D
Installing from Source
Appendix E
JSON Primer
Appendix F
The Power of B-trees