# 1. Introduction

CouchDB is a database that completely embraces the web. Store your data with JSON documents. Access your documents with your web browser, via HTTP. Query, combine, and transform your documents with JavaScript. CouchDB works well with modern web and mobile apps. You can distribute your data, efficiently using CouchDB’s incremental replication. CouchDB supports master-master setups with automatic conflict detection.

CouchDB comes with a suite of features, such as on-the-fly document transformation and real-time change notifications, that make web development a breeze. It even comes with an easy to use web administration console, served directly out of CouchDB! We care a lot about distributed scaling. CouchDB is highly available and partition tolerant, but is also eventually consistent. And we care a lot about your data. CouchDB has a fault-tolerant storage engine that puts the safety of your data first.

In this section you’ll learn about every basic bit of CouchDB, see upon what conceptions and technologies it built and walk through short tutorial that teach how to use CouchDB.

- 1.1. Technical Overview
  - 1.1.1. Document Storage
  - 1.1.2. ACID Properties
  - 1.1.3. Compaction
  - 1.1.4. Views
  - 1.1.5. Security and Validation
  - 1.1.6. Distributed Updates and Replication
  - 1.1.7. Implementation
- 1.2. Why CouchDB?
  - 1.2.1. Relax
  - 1.2.2. A Different Way to Model Your Data
  - 1.2.3. A Better Fit for Common Applications
  - 1.2.4. Building Blocks for Larger Systems
  - 1.2.5. CouchDB Replication
  - 1.2.6. Local Data Is King
  - 1.2.7. Wrapping Up
- 1.3. Eventual Consistency
  - 1.3.1. Working with the Grain
  - 1.3.2. The CAP Theorem
  - 1.3.3. Local Consistency
  - 1.3.4. Validation
  - 1.3.5. Distributed Consistency
  - 1.3.6. Incremental Replication
  - 1.3.7. Case Study
  - 1.3.8. Wrapping Up
- 1.4. cURL: Your Command Line Friend
- 1.5. Getting Started
  - 1.5.1. All Systems Are Go!
  - 1.5.2. Welcome to Fauxton
  - 1.5.3. Your First Database and Document
  - 1.5.4. Running a Query Using MapReduce
  - 1.5.5. Triggering Replication
  - 1.5.6. Wrapping Up
- 1.6. The Core API
  - 1.6.1. Server
  - 1.6.2. Databases
  - 1.6.3. Documents
  - 1.6.4. Replication
  - 1.6.5. Wrapping Up
- 1.7. Security
  - 1.7.1. Authentication
  - 1.7.2. Authentication Database
  - 1.7.3. Authorization