CouchDB
From Wikipedia, the free encyclopedia
![]() |
|
| Original author(s) | Damien Katz, Jan Lehnardt, Noah Slater, Christopher Lenz, J. Chris Anderson |
|---|---|
| Developer(s) | Apache Software Foundation |
| Initial release | 2005 |
| Stable release | 0.9.0 / 2009-03-30 |
| Written in | Erlang |
| Operating system | Cross-platform |
| Available in | English |
| Development status | Active |
| Type | Document-oriented database |
| License | Apache Licence 2.0 |
| Website | http://couchdb.apache.org/ |
Apache CouchDB, commonly referred to as CouchDB, is a free and open source document-oriented database written in the Erlang programming language. It is designed for extreme scalability and is easily deployed to multi-core or multi-server clusters.
Contents |
[edit] Overview
CouchDB is not a relational database management system. Instead of storing data in rows and columns, the database manages a collection of JSON documents (early versions of CouchDB used XML). As a result, it is often compared with column-oriented datastores like Google's BigTable; however, CouchDB is not a column-oriented store, since the documents in a collection need not share a schema.
Views are defined with aggregate functions and filters and are computed in parallel, much like MapReduce. Views are generally stored in the database and their indexes updated continuously, although queries may introduce temporary views.
CouchDB exposes a RESTful HTTP API and a large number of pre-written clients are available. Additionally, a plugin architecture allows for using different computer languages as the view server such as JavaScript (default), PHP, Ruby and Python. Support for other languages can be easily added.
CouchDB supports a view system using external socket servers and a JSON based protocol.[1] As a consequence, view servers have been developed in a series of languages.
CouchDB was accepted into Apache incubation in February 2008[2] and became a top level project in November 2008.[3] Despite its low version number of 0.9, it is already in use in many software projects and web sites.[4]
[edit] References
- ^ View Server Documentation on wiki.apache.org
- ^ Apache mailing list announcement on mail-archives.apache.org
- ^ Re: Proposed Resolution: Establish CouchDB TLP on mail-archives.apache.org
- ^ CouchDB in the wild A list of software projects and websites using CouchDB
[edit] Bibliography
- Anderson, J. Chris; Slater, Noah; Lehnardt, Jan (November 15, 2009), CouchDB: The Definitive Guide (1st ed.), O'Reilly Media, pp. 300, ISBN 0596158165, http://oreilly.com/catalog/9780596158163
- Chandler, Christopher (December 2009), CouchDB in Action (1st ed.), Manning Publications, pp. 350, ISBN 9781935182283, http://www.manning.com/chandler/
[edit] See also
- Document-oriented database
- MongoDB
- EXist Open source native XML database
- Mnesia
[edit] External links
- Official CouchDB Project Website
- Official CouchDB Wiki
- Interactive CouchDB Tutorial
- CouchDB Green Paper
|
|||||||||||||||||


