카우치DB
카우치DB의 Futon Administration 인터페이스, 사용자 데이터베이스 | |
원저자 | Damien Katz, Jan Lehnardt, Noah Slater, Christopher Lenz, J. Chris Anderson, Paul Davis, Adam Kocoloski, Jason Davies, Benoit Chesneau, Filipe Manana, Robert Newson |
---|---|
개발자 | 아파치 소프트웨어 재단 |
발표일 | 2005 |
안정화 버전 | 3.3.3[1] / 2023년 12월 4일 (8개월 전) |
저장소 | github |
프로그래밍 언어 | 얼랭 |
운영 체제 | 크로스 플랫폼 |
종류 | 도큐먼트 지향 데이터베이스 |
라이선스 | 아파치 라이선스 2.0 |
상태 | 개발 중 |
웹사이트 | couchdb |
아파치 카우치DB(Apache CouchDB)는 스케일러블 아키텍처를 쉽게 이용하고 보유하는데 초점을 둔 오픈 소스 데이터베이스 소프트웨어이다. 도큐먼트 지향 NoSQL 데이터베이스 구조를 갖추고 있으며 얼랭으로 구현되어 있다. JSON을 사용하여 데이터를 저장하고, 자바스크립트를 쿼리 언어로 사용(맵리듀스 사용)하며 API를 위해 HTTP를 사용한다.[2]
카우치DB는 2005년에 첫 출시되었으며 나중에 2008년에 아파치 소프트웨어 재단 프로젝트로 되었다.
관계형 데이터베이스과는 달리 카우치DB 데이터베이스는 테이블에 데이터와 관계를 저장하지 않는다. 그 대신 각 데이터베이스는 독립된 도큐먼트들의 모음집이 된다. 각 도큐먼트는 자신만의 데이터와 스스로 포함하는 스키마를 정비한다. 애플리케이션은 여러 개의 데이터베이스, 이를테면 사용자 휴대전화에 저장된 것과 서버에 저장된 것에 접근할 수 있다. 도큐먼트 메타데이터는 리비전 정보를 포함하고 있어서 데이터베이스의 접속이 끊긴 동안 발생할 수 있는 차이를 병합하는 것이 가능하다.
카우치DB는 다중 버전 동시성 제어(MVCC)의 형태를 구현하므로 쓰기 중에 데이터베이스 파일을 잠그지 않는다. 충돌은 애플리케이션이 해결하도록 내버려둔다. 충돌을 해결하는 것은 일반적으로 데이터를 처음에 도큐먼트 중 하나로 병합하여 오래된 것을 삭제하는 것을 수반한다.[3]
그 밖의 기능들로는 결과 무결성을 포함한 도큐먼트 수준의 ACID 시맨틱, (증강) 맵리듀스, (증강) 복제를 포함한다. 카우치DB의 독특한 기능 중 하나는 멀티 마스터 복제(multi-master replication)이며 여러 머신들로 하여금 스케일할 수 있게 함으로써 고성능 시스템을 구축할 수 있게 한다. Fauxton(과거 이름은 Futon)라는 이름의 내장된 웹 애플리케이션은 관리를 돕는다.
같이 보기
각주
참고 문헌
- Anderson, J. Chris; Slater, Noah; Lehnardt, Jan (2009년 11월 15일), 《CouchDB: The Definitive Guide》 1판, 오라일리 미디어, 300쪽, ISBN 0-596-15816-5
- Lennon, Joe (2009년 12월 15일), 《Beginning CouchDB》 1판, en:Apress, 300쪽, ISBN 1-4302-7237-6, 2010년 12월 5일에 원본 문서에서 보존된 문서, 2018년 2월 18일에 확인함
- Holt, Bradley (2011년 3월 7일), 《Writing and Querying MapReduce Views in CouchDB》 1판, 오라일리 미디어, 76쪽, ISBN 1-4493-0312-9
- Holt, Bradley (2011년 4월 11일), 《Scaling CouchDB》 1판, 오라일리 미디어, 72쪽, ISBN 1-4493-0343-9
- Brown, MC (2011년 10월 31일), 《Getting Started with CouchDB》 1판, 오라일리 미디어, 50쪽, ISBN 1-4493-0755-8
- Thompson, Mick (2011년 8월 2일), 《Getting Started with GEO, CouchDB, and Node.js》 1판, 오라일리 미디어, 64쪽, ISBN 1-4493-0752-3
외부 링크
- 카우치DB - 공식 웹사이트
- CouchDB: The Definitive Guide
- Complete HTTP API Reference
- Simple PHP5 library to communicate with CouchDB
- Asynchronous CouchDB client for Java
- Asynchronous CouchDB client for Scala
- Lehnardt, Jan (2008). “Couch DB at 10,000 feet”. 《Erlang eXchange 2008》. 2012년 11월 9일에 원본 문서에서 보존된 문서. 2012년 4월 15일에 확인함.
- Lenhardt, Jan (2009). “CouchDB for Erlang Developers”. 《Erlang Factory London 2009》. 2011년 6월 19일에 원본 문서에서 보존된 문서. 2012년 4월 15일에 확인함.
- Katz, Damien (January 2009). “CouchDB and Me”. 《RubyFringe》. InfoQ. 2011년 4월 27일에 원본 문서에서 보존된 문서. 2012년 4월 15일에 확인함.
- v
- t
- e
- HTTP 서버
- Abdera
- Accumulo
- ACE
- ActiveMQ
- 에어플로
- 앤트
- APR
- Archiva
- Aries
- 아브로
- 액시스
- 액시스2
- Buildr
- BVal
- 캐멀
- 카산드라
- Cayenne
- Chemistry
- 클라우드스택
- 클릭
- Cocoon
- 커먼즈
- Continuum
- 카우치DB
- Creadur
- CXF
- 더비
- Deltacloud
- 디렉터리
- 드루이드
- Empire-db
- 펠릭스
- Forrest
- 플룸
- 프리메이커
- 제로니모
- 검프
- 하둡
- HBase
- 하이브
- 임팔라
- HttpComponents
- 잭래빗
- 제임스
- 제나
- 제이미터
- jUDDI
- 카프카
- 쿠두
- Lenya
- 로깅
- 루씬
- 루시
- 머하웃
- 메이븐
- MINA
- MRUnit
- 마이페이스
- 나이파이
- 너치
- ODE
- OODT
- OFBiz
- OpenEJB
- OpenJPA
- OpenNLP
- OpenWebBeans
- PDFBox
- mod_perl
- 피그
- 피봇
- POI
- Portals
- Qpid
- 레이브
- 리버
- 롤러
- Santuario
- ServiceMix
- Shindig
- Shiro
- 슬링
- 솔
- 스파크
- 스톰
- 스팸어쌔신
- STDCXX
- 스쿱
- 스트럿츠
- 서브버전
- 시냅스
- Tapestry
- Tcl
- 스리프트
- Tika
- Tiles
- 톰캣
- 트래픽서버
- 터빈
- Tuscany
- UIMA
- 벨로시티
- 웹 서비스
- Whirr
- Wicket
- 잴런
- 서세스
- XML빈즈
- XML 그래픽스
- 주키퍼
- Juneau
- Attributes
- BCEL
- BeanUtils
- Betwixt
- BSF
- 체인
- CLI
- 코덱
- Collections
- 컴프레스
- Configuration
- CSV
- 데몬
- DBCP
- DBUtils
- 다이제스터
- 디스커버리
- EL
- 이메일
- Exec
- FileUpload
- Functor
- 이미징
- IO
- JCI
- JCS
- 젤리
- Jxel
- JXPath
- Lang
- 런처
- 로깅
- 매스
- 모델러
- 넷
- OGNL
- 풀
- Primitives
- 프록시
- SCXML
- 트랜잭션
- Validator
- VFS
(종료된 프로젝트)
- 라이선스: 아파치 라이선스
- 홈페이지: www
.apache .org