{{위키데이터 속성 추적}}
{{소프트웨어 정보
| name                   = 아파치 카우치DB
| logo                   = Apache CouchDB logo.svg
| screenshot             = Apache CouchDB v2.1.1 Fauxton Console.png
| caption                = 카우치DB의 Futon Administration 인터페이스, 사용자 데이터베이스
| collapsible            = 
| author                 = Damien Katz, Jan Lehnardt, Noah Slater, Christopher Lenz, J. Chris Anderson, Paul Davis, Adam Kocoloski, Jason Davies, Benoit Chesneau, Filipe Manana, Robert Newson
| developer              = [[아파치 소프트웨어 재단]]
| released               = 2005
| latest release version = {{wikidata|property|edit|reference|P348}}
| latest release date    = {{wikidata|qualifier|P348|P577}} ({{Time ago| {{wikidata|qualifier|raw|P348|P577}} }})
| latest preview version = 
| latest preview date    = 
| repo = {{URL|https://github.com/apache/couchdb}}
| status                 = 개발 중
| programming language   = [[얼랭]]
| operating system       = [[크로스 플랫폼]]
| language               = 
| genre                  = [[도큐먼트 지향 데이터베이스]]
| license                = [[아파치 라이선스]] 2.0
| website                = {{공식 URL}}
}}

'''아파치 카우치DB'''(Apache CouchDB)는 스케일러블 아키텍처를 쉽게 이용하고 보유하는데 초점을 둔 [[오픈 소스 소프트웨어|오픈 소스]] 데이터베이스 소프트웨어이다. [[도큐먼트 지향 데이터베이스|도큐먼트 지향]] [[NoSQL]] 데이터베이스 구조를 갖추고 있으며 [[얼랭]]으로 구현되어 있다. [[JSON]]을 사용하여 데이터를 저장하고, [[자바스크립트]]를 쿼리 언어로 사용([[맵리듀스]] 사용)하며 [[API]]를 위해 [[HTTP]]를 사용한다.<ref name="official-website">{{웹 인용|last=Apache Software Foundation|title=Apache CouchDB|url=http://couchdb.apache.org/|accessdate=15 April 2012}}</ref>

카우치DB는 2005년에 첫 출시되었으며 나중에 2008년에 [[아파치 소프트웨어 재단]] 프로젝트로 되었다.

[[관계형 데이터베이스]]과는 달리 카우치DB 데이터베이스는 테이블에 데이터와 관계를 저장하지 않는다. 그 대신 각 데이터베이스는 독립된 도큐먼트들의 모음집이 된다. 각 도큐먼트는 자신만의 데이터와 스스로 포함하는 스키마를 정비한다. 애플리케이션은 여러 개의 데이터베이스, 이를테면 사용자 휴대전화에 저장된 것과 서버에 저장된 것에 접근할 수 있다. 도큐먼트 메타데이터는 리비전 정보를 포함하고 있어서 데이터베이스의 접속이 끊긴 동안 발생할 수 있는 차이를 병합하는 것이 가능하다.

카우치DB는 [[다중 버전 동시성 제어]](MVCC)의 형태를 구현하므로 쓰기 중에 데이터베이스 파일을 잠그지 않는다. 충돌은 애플리케이션이 해결하도록 내버려둔다. 충돌을 해결하는 것은 일반적으로 데이터를 처음에 도큐먼트 중 하나로 병합하여 오래된 것을 삭제하는 것을 수반한다.<ref>{{웹 인용|last=Smith|first=Jason|title=What is the CouchDB replication protocol? Is it like Git?|url=https://stackoverflow.com/a/4766398/395287|work=StackOverflow|publisher=Stack Exchange|accessdate=14 April 2012}}</ref>

그 밖의 기능들로는 [[결과 무결성]]을 포함한 도큐먼트 수준의 [[ACID]] 시맨틱, (증강) [[맵리듀스]], (증강) 복제를 포함한다. 카우치DB의 독특한 기능 중 하나는 [[멀티 마스터 복제]](multi-master replication)이며 여러 머신들로 하여금 스케일할 수 있게 함으로써 고성능 시스템을 구축할 수 있게 한다. Fauxton(과거 이름은 Futon)라는 이름의 내장된 웹 애플리케이션은 관리를 돕는다.

== 같이 보기 ==
* [[카우치베이스 서버]]

== 각주 ==
{{각주}}

== 참고 문헌 ==
{{참고 자료 시작}}
* {{인용
| first1 = J. Chris | last1 = Anderson | first2 = Noah | last2 = Slater | first3 = Jan | last3 = Lehnardt | date = November 15, 2009 | title = CouchDB: The Definitive Guide | edition = 1st | publisher = [[오라일리 미디어]] | pages = 300 | isbn = 0-596-15816-5 | url = http://guide.couchdb.org/editions/1/en/index.html }}
* {{인용 | first1 = Joe | last1 = Lennon | date = December 15, 2009 | title = Beginning CouchDB | edition = 1st | publisher = [[:en:Apress]] | pages = 300 | isbn = 1-4302-7237-6 | url = http://www.apress.com/book/view/9781430272373 | access-date = 2018-02-18 | archive-date = 2010-12-05 | archive-url = https://web.archive.org/web/20101205154416/http://www.apress.com/book/view/9781430272373 }}
* {{인용| first1 = Bradley | last1 = Holt | date = March 7, 2011 | title = Writing and Querying MapReduce Views in CouchDB | edition = 1st | publisher = [[오라일리 미디어]] | pages = 76 | isbn = 1-4493-0312-9| url = http://oreilly.com/catalog/0636920018247 }}
* {{인용| first1 = Bradley | last1 = Holt | date = April 11, 2011 | title = Scaling CouchDB | edition = 1st | publisher = [[오라일리 미디어]] | pages = 72 | isbn = 1-4493-0343-9 | url = http://oreilly.com/catalog/9781449303433}}
* {{인용| first1 = MC | last1 = Brown | date = October 31, 2011 | title = Getting Started with CouchDB | edition = 1st | publisher = [[오라일리 미디어]] | pages = 50 | isbn = 1-4493-0755-8 | url = http://oreilly.com/catalog/9781449307554}}
* {{인용| first1 = Mick | last1 = Thompson | date = August 2, 2011 | title = Getting Started with GEO, CouchDB, and Node.js | edition = 1st | publisher = [[오라일리 미디어]] | pages = 64 | isbn = 1-4493-0752-3 | url = http://oreilly.com/catalog/9781449307523}}
{{참고 자료 끝}}

== 외부 링크 ==
* {{공식 웹사이트}}
* [https://web.archive.org/web/20090831050402/http://books.couchdb.org/relax/ CouchDB: The Definitive Guide]
* [https://web.archive.org/web/20160303172725/http://wiki.apache.org/couchdb/Complete_HTTP_API_Reference Complete HTTP API Reference]
* [https://github.com/1999/couchdb-php Simple PHP5 library to communicate with CouchDB]
* [https://code.google.com/p/async-couchdb-client/ Asynchronous CouchDB client for Java]
* [https://github.com/KimStebel/sprouch Asynchronous CouchDB client for Scala]
* {{웹 인용|last=Lehnardt|first=Jan|title=Couch DB at 10,000 feet|url=http://video.google.com/videoplay?docid=-3714560380544574985&hl=en#|work=Erlang eXchange 2008|accessdate=15 April 2012|year=2008|archive-date=2012-11-09|archive-url=https://web.archive.org/web/20121109191546/http://video.google.com/videoplay?docid=-3714560380544574985&hl=en|url-status=dead}}
* {{웹 인용|last=Lenhardt|first=Jan|title=CouchDB for Erlang Developers|url=http://www.erlang-factory.com/conference/London2009/speakers/janlehnardt|work=Erlang Factory London 2009|accessdate=15 April 2012|year=2009|보존url=https://web.archive.org/web/20110619041527/http://www.erlang-factory.com/conference/London2009/speakers/janlehnardt|보존날짜=2011-06-19|url-status=dead}}
* {{웹 인용|last=Katz|first=Damien|title=CouchDB and Me|url=http://www.infoq.com/presentations/katz-couchdb-and-me|work=RubyFringe|publisher=InfoQ|accessdate=15 April 2012|date=January 2009|보존url=https://web.archive.org/web/20110427212129/http://www.infoq.com/presentations/katz-couchdb-and-me|보존날짜=2011-04-27|url-status=dead}}

{{아파치}}

{{전거 통제}}

[[분류:아파치 소프트웨어 재단 프로젝트]]
[[분류:크로스 플랫폼 소프트웨어]]
[[분류:분산 컴퓨팅 구조]]
[[분류:NoSQL]]
[[분류:유닉스 네트워크 관련 소프트웨어]]
[[분류:자유 데이터베이스 관리 시스템]]
[[분류:문서 지향 데이터베이스]]
[[분류:얼랭으로 작성된 자유 소프트웨어]]
[[분류:얼랭]]