Navigation
API Reference
Config Reference
|
next
|
Apache CouchDB 2.0 Documentation
»
Apache CouchDB™
2.0.0 Documentation
¶
1. Introduction
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. Getting Started
1.4.1. All Systems Are Go!
1.4.2. Welcome to Fauxton
1.4.3. Your First Database and Document
1.4.4. Running a Query Using MapReduce
1.4.5. Triggering Replication
1.4.6. Wrapping Up
1.5. The Core API
1.5.1. Server
1.5.2. Databases
1.5.3. Documents
1.5.4. Replication
1.5.5. Wrapping Up
1.6. Security
1.6.1. Authentication
1.6.2. Authentication Database
1.6.3. Authorization
1.7. cURL: Your Command Line Friend
2. Installation
2.1. Installation on Unix-like systems
2.1.1. Dependencies
2.1.2. Installing
2.1.3. User Registration and Security
2.1.4. First Run
2.1.5. Running as a Daemon
2.2. Installation on Windows
2.2.1. Installation from binaries
2.2.2. Installation from sources
2.3. Installation on Mac OS X
2.3.1. Installation using the Apache CouchDB native application
2.3.2. Installation with Homebrew
2.4. Installation on FreeBSD
2.4.1. Installation from ports
2.5. Troubleshooting an Installation
2.5.1. First Install
2.5.2. Quick Build
2.5.3. Upgrading
2.5.4. Runtime Errors
2.6. Single Node Setup
2.7. Cluster Setup
3. Configuring CouchDB
3.1. Introduction Into Configuring
3.1.1. Configuration files
3.1.2. Parameter names and values
3.1.3. Setting parameters via the configuration file
3.1.4. Setting parameters via the HTTP API
3.2. Base Configuration
3.2.1. Base CouchDB Options
3.3. couch_peruser
3.3.1. couch_peruser Options
3.4. CouchDB HTTP Server
3.4.1. HTTP Server Options
3.4.2. Secure Socket Level Options
3.4.3. Cross-Origin Resource Sharing
3.4.4. Virtual Hosts
3.5. Authentication and Authorization
3.5.1. Server Administrators
3.5.2. Authentication Configuration
3.5.3. HTTP OAuth Configuration
3.5.4. OAuth Configuration
3.6. Compaction Configuration
3.6.1. Database Compaction Options
3.6.2. Compaction Daemon Rules
3.6.3. Configuration of Compaction Daemon
3.6.4. Views Compaction Options
3.7. Logging
3.7.1. Logging options
3.7.2. Per module logging
3.8. Replicator
3.8.1. Replicator Database Configuration
3.9. Query Servers
3.9.1. Query Servers Definition
3.9.2. Query Servers Configuration
3.9.3. Native Erlang Query Server
3.10. External Processes
3.10.1. OS Daemons
3.10.2. OS Daemons settings
3.10.3. Update notifications
3.11. HTTP Resource Handlers
3.11.1. Global HTTP Handlers
3.11.2. Database HTTP Handlers
3.11.3. Design Documents HTTP Handlers
3.12. CouchDB Internal Services
3.12.1. CouchDB Daemonized Mini Apps
3.13. Miscellaneous Parameters
3.13.1. Configuration of Attachment Storage
3.13.2. Statistic Calculation
3.13.3. UUIDs Configuration
3.13.4. Vendor information
3.13.5. Content-Security-Policy
3.14. Proxying Configuration
3.14.1. CouchDB As Proxy
4. Replication
4.1. Introduction to Replication
4.1.1. Triggering Replication
4.1.2. Replication Procedure
4.1.3. Master - Master replication
4.1.4. Controlling which Documents to Replicate
4.1.5. Migrating Data to Clients
4.2. CouchDB Replication Protocol
4.2.1. Preface
4.2.2. Replication Protocol Algorithm
4.2.3. Protocol Robustness
4.2.4. Error Responses
4.2.5. Optimisations
4.2.6. API Reference
4.2.7. Reference
4.3. Replicator Database
4.3.1. Basics
4.3.2. Documents describing the same replication
4.3.3. Canceling replications
4.3.4. Server restart
4.3.5. Updating Documents in the Replicator Database
4.3.6. Additional Replicator Databases
4.3.7. Replicating the replicator database
4.3.8. Delegations
4.4. Replication and conflict model
4.4.1. CouchDB replication
4.4.2. Conflict avoidance
4.4.3. Revision tree
4.4.4. Working with conflicting documents
4.4.5. Multiple document API
4.4.6. View map functions
4.4.7. Merging and revision history
4.4.8. Comparison with other replicating data stores
5. CouchDB Maintenance
5.1. Compaction
5.1.1. Database Compaction
5.1.2. Views Compaction
5.1.3. Automatic Compaction
5.2. Performance
5.2.1. Disk I/O
5.2.2. System Resource Limits
5.2.3. Network
5.2.4. CouchDB
5.2.5. Views
6. CouchApp
6.1. Design Documents
6.1.1. View Functions
6.1.2. Show Functions
6.1.3. List Functions
6.1.4. Update Functions
6.1.5. Filter Functions
6.1.6. Validate Document Update Functions
6.2. Guide to Views
6.2.1. Introduction to Views
6.2.2. Views Collation
6.2.3. Joins With Views
6.2.4. View Cookbook for SQL Jockeys
6.2.5. Pagination Recipe
7. CouchDB Externals API
7.1. The New Hotness
7.2. How does it work? - HTTP Proxying
7.3. How does it work? - OS Daemons
7.3.1. Configuration API
7.3.2. Logging API
7.3.3. Dynamic Daemons
7.4. Neat. But So What?
8. Query Server
8.1. Query Server Protocol
8.1.1.
reset
8.1.2.
add_lib
8.1.3.
map_doc
8.1.4.
reduce
8.1.5.
rereduce
8.1.6.
ddoc
8.1.7. Raising errors
8.1.8. Logging
8.2. JavaScript
8.2.1. Design functions context
8.2.2. CommonJS Modules
8.3. Erlang
9. Fauxton
9.1. Installation
9.1.1. Get the source
9.1.2. Fauxton Setup
9.1.3. Dev Server
9.1.4. Deploy Fauxton
9.2. Writing Addons
9.2.1. Generating an Addon
9.2.2. Routes and hooks
9.2.3. Hello world Addon
10. API Reference
10.1. API Basics
10.1.1. Request Format and Responses
10.1.2. HTTP Headers
10.1.3. JSON Basics
10.1.4. HTTP Status Codes
10.2. Server
10.2.1.
/
10.2.2.
/_active_tasks
10.2.3.
/_all_dbs
10.2.4.
/_db_updates
10.2.5.
/_membership
10.2.6.
/_log
10.2.7.
/_replicate
10.2.8.
/_restart
10.2.9.
/_stats
10.2.10.
/_utils
10.2.11.
/_uuids
10.2.12.
/favicon.ico
10.2.13. Authentication
10.2.14. Configuration
10.3. Databases
10.3.1.
/db
10.3.2.
/db/_all_docs
10.3.3.
/db/_bulk_docs
10.3.4.
/db/_find
10.3.5.
/db/_index
10.3.6.
/db/_explain
10.3.7.
/db/_changes
10.3.8.
/db/_compact
10.3.9.
/db/_compact/design-doc
10.3.10.
/db/_ensure_full_commit
10.3.11.
/db/_view_cleanup
10.3.12.
/db/_security
10.3.13.
/db/_purge
10.3.14.
/db/_missing_revs
10.3.15.
/db/_revs_diff
10.3.16.
/db/_revs_limit
10.4. Documents
10.4.1.
/db/doc
10.4.2.
/db/doc/attachment
10.5. Design Documents
10.5.1.
/db/_design/design-doc
10.5.2.
/db/_design/design-doc/attachment
10.5.3.
/db/_design/design-doc/_info
10.5.4.
/db/_design/design-doc/_view/view-name
10.5.5.
/db/_design/design-doc/_show/show-name
10.5.6.
/db/_design/design-doc/_show/show-name/doc-id
10.5.7.
/db/_design/design-doc/_list/list-name/view-name
10.5.8.
/db/_design/design-doc/_list/list-name/other-ddoc/view-name
10.5.9.
/db/_design/design-doc/_update/update-name
10.5.10.
/db/_design/design-doc/_update/update-name/doc-id
10.5.11.
/db/_design/design-doc/_rewrite/path
10.6. Local (non-replicating) Documents
10.6.1.
/db/_local/id
11. Cluster Reference
11.1. Setup
11.1.1. Firewall
11.1.2. The Cluster Setup Wizard
11.2. Theory
11.3. Node Management
11.3.1. Adding a node
11.3.2. Removing a node
11.4. Database Management
11.4.1. Creating a database
11.4.2. Deleteing a database
11.4.3. Placing a database on specific nodes
11.5. Sharding
11.5.1. Scaling out
11.5.2. Moving Shards
11.5.3. Views
11.5.4. Reshard? No, Preshard!
12. JSON Structure Reference
12.1. All Database Documents
12.2. Bulk Document Response
12.3. Bulk Documents
12.4. Changes information for a database
12.5. CouchDB Document
12.6. CouchDB Error Status
12.7. CouchDB database information object
12.8. Design Document
12.9. Design Document Information
12.10. Document with Attachments
12.11. List of Active Tasks
12.12. Replication Settings
12.13. Replication Status
12.14. Request object
12.15. Request2 object
12.16. Response object
12.17. Returned CouchDB Document with Detailed Revision Info
12.18. Returned CouchDB Document with Revision Info
12.19. Returned Document with Attachments
12.20. Security Object
12.21. User Context Object
12.22. View Head Information
13. Experimental Features
13.1. NodeJS Query Server
13.1.1. Setup
13.1.2. Differences from the SpiderMonkey Query Server
13.2. Plugins
13.3. Content-Security-Policy (CSP) Header Support for /_utils (Fauxton)
14. Contributing to this Documentation
14.1. Style Guidelines for this Documentation
14.1.1. The guidelines
15. Release History
15.1. 2.0.x Branch
15.1.1. Version 2.0.0
15.1.2. Upgrade Notes
15.1.3. Known Issues
15.2. 1.6.x Branch
15.2.1. Upgrade Notes
15.2.2. Version 1.6.0
15.3. 1.5.x Branch
15.3.1. Version 1.5.1
15.3.2. Version 1.5.0
15.4. 1.4.x Branch
15.4.1. Upgrade Notes
15.4.2. Version 1.4.0
15.5. 1.3.x Branch
15.5.1. Upgrade Notes
15.5.2. Version 1.3.1
15.5.3. Version 1.3.0
15.6. 1.2.x Branch
15.6.1. Upgrade Notes
15.6.2. Version 1.2.2
15.6.3. Version 1.2.1
15.6.4. Version 1.2.0
15.7. 1.1.x Branch
15.7.1. Upgrade Notes
15.7.2. Version 1.1.2
15.7.3. Version 1.1.1
15.7.4. Version 1.1.0
15.8. 1.0.x Branch
15.8.1. Upgrade Notes
15.8.2. Version 1.0.4
15.8.3. Version 1.0.3
15.8.4. Version 1.0.2
15.8.5. Version 1.0.1
15.8.6. Version 1.0.0
15.9. 0.11.x Branch
15.9.1. Upgrade Notes
15.9.2. Version 0.11.2
15.9.3. Version 0.11.1
15.9.4. Version 0.11.0
15.10. 0.10.x Branch
15.10.1. Upgrade Notes
15.10.2. Version 0.10.2
15.10.3. Version 0.10.1
15.10.4. Version 0.10.0
15.11. 0.9.x Branch
15.11.1. Upgrade Notes
15.11.2. Version 0.9.2
15.11.3. Version 0.9.1
15.11.4. Version 0.9.0
15.12. 0.8.x Branch
15.12.1. Version 0.8.1-incubating
15.12.2. Version 0.8.0-incubating
16. Security Issues Information
16.1. CVE-2010-0009: Apache CouchDB Timing Attack Vulnerability
16.1.1. Description
16.1.2. Mitigation
16.1.3. Example
16.1.4. Credit
16.2. CVE-2010-2234: Apache CouchDB Cross Site Request Forgery Attack
16.2.1. Description
16.2.2. Mitigation
16.2.3. Example
16.2.4. Credit
16.3. CVE-2010-3854: Apache CouchDB Cross Site Scripting Issue
16.3.1. Description
16.3.2. Mitigation
16.3.3. Example
16.3.4. Credit
16.4. CVE-2012-5641: Information disclosure via unescaped backslashes in URLs on Windows
16.4.1. Description
16.4.2. Mitigation
16.4.3. Work-Around
16.4.4. Acknowledgement
16.4.5. References
16.5. CVE-2012-5649: JSONP arbitrary code execution with Adobe Flash
16.5.1. Description
16.5.2. Mitigation
16.5.3. Work-Around
16.6. CVE-2012-5650: DOM based Cross-Site Scripting via Futon UI
16.6.1. Description
16.6.2. Mitigation
16.6.3. Work-Around
16.6.4. Acknowledgement
16.7. CVE-2014-2668: DoS (CPU and memory consumption) via the count parameter to /_uuids
16.7.1. Description
16.7.2. Mitigation
16.7.3. Work-Around
17. Reporting New Security Problems with Apache CouchDB
18. About CouchDB Documentation
18.1. License
Quick Search
Next topic
1. Introduction
Utilities
Fauxton
More Help
Homepage
Wiki
Mailing Lists
IRC
Issues
Download
Show on GitHub
Edit on GitHub
Navigation
API Reference
Config Reference
|
next
|
Apache CouchDB 2.0 Documentation
»