CouchDB

Apache CouchDB is a database management system based on the approach of a document-oriented database, which is being developed as free software since 2005 and distributed under the terms of version 2.0 of the Apache License. CouchDB is mostly written in the programming language Erlang. As a scripting language, JavaScript is used, which is interpreted on the server side of SpiderMonkey.

The goal of CouchDB is to link the simple data model of a document-oriented database scalability and performance of a professional relational database. These CouchDB needs on multi-core systems and its use in multi-server environments.

History of development

CouchDB has been developed since 2005 by Damien Katz, who had previously worked as a senior developer at Lotus Notes. His goal is to connect the document-oriented approach from Lotus Notes to the MapReduce approach of Google 's BigTable, the distributed high- performance database by Google, which is not freely available as a proprietary solution. With CouchDB is a schema -less database system should arise that allows spreadability by a high performance. The name CouchDB is a semi- ironic backronym that stands for " cluster of unreliable commodity hardware Data Base ". ( For German. " Database on a cluster of unreliable commodity hardware " )

After Damien Katz the CouchDB development for two years in private business, he worked from January 2008 to 2009 as the full-time employee of IBM, and drove there the other open-source development of CouchDB ahead. The responsible for the recruitment of Katz IBM executive called this step not as an acquisition, although in the future the use of CouchDB is conceivable in IBM products. In addition to Damien Katz six other developers are actively working on CouchDB. Katz founded in late 2009 with $ 2 million venture capital own company called Relaxed Inc.

CouchDB was from February 2008 Incubator ( to German: incubator ) of the Apache Software Foundation; where projects are adapted to the guidelines of the Apache Foundation, before they become a top-level project. In March and in July 2008, January Lehnardt ( CouchDB committer ) and Damien Katz gave presentations on the O'Reilly ETech developer conferences in 2008 and OSCON 2008. CouchDB In November 2008, was upgraded to an Apache Project. Despite the version number of 0.11 was used CouchDB in June 2009 already productive in about 13 software projects and 40 sites.

Version 1.0 was released on 14 July 2010 dramatically improved working speed, and support for Windows operating systems. Since version 1.1.0 of early June 2011, SSL is supported natively.

Use

CouchDB is used among other things in software projects, for websites or Facebook applications. As a central component of Ubuntu CouchDB is used to synchronize addresses and bookmarks. However, the end of December, 2011, Canonical known to turn away from CouchDB, and a future in a slightly different approach, based on a self-developed database API with the project name U1DB.

Properties

The main features of CouchDB:

Often CouchDB is compared with column-oriented databases, such as Google 's BigTable. But CouchDB is not a column -oriented storage, as individual documents within the same database can have a different structure from each other.

Integrated Software

Because CouchDB can independently distributed as a web server documents directly to the browser, can be dispensed with any additional software such as Web servers and server-side scripting languages ​​(eg PHP, Ruby ).

Futon

Futon is a free javascript application for the administration of CouchDB itself Similar to phpMyAdmin, and databases on external computers can be managed via a network connection or via the Internet. Futon is pre-installed in most CouchDB installations and over "server: 5984/_utils " reachable.

Couchapp

Couchapp is an integrated Javascript Web Application Framework for CouchDB. Couchapp uses strongly the convention over configuration paradigm and offers client-side jQuery libraries. About the Couchapp command line can be a structured file tree produce as a template for a CouchDB application and load as a design document in CouchDB.

In Couchapp following jQuery extensions are integrated:

Unlike server-based, classic big web frameworks Couchapp can scale any images or send e-mails.

204658
de