Apache CouchDB

Posted 2009.08.23 04:51 by shinji

Apache CouchDB

CouchDB 란?

CouchDB 는 RDBMS가 아니다. 데이터를 행과 열에 저장하기 보다는 JSON 문서들의 집합으로 관리한다.(초기의 버전의 CouchDB는 XML을 사용했다.) 그 결과로 컬럼 기반의(column-oriented) 데이터 저장소, 예로 구글의 BigTable 같은 저장소와 자주 비교되지만 CouchDB는 컬럼 기반의 저장소가 아니다. 한 집합의 문서들은 스키마를 공유하지 않기 때문이다.

뷰 들은 함수들과 필터들의 모음으로 정의되고 MapReduce와 같이(much like MapReduce) 평행하게 계산된다. 뷰들은 일반적으로 데이터베이스에 저장되고 뷰의 인덱스는 지속적으로 업데이트된다. 비록 쿼리들에 임시적인 뷰들이 허용된다고 하더라도 말이다.

CouchDB는 REST 형태의 HTTP API 를 외부로 노출시키고 많은 이미 작성된 클라이언트들이 사용가능하다. 추가적으로 플러그인 설계구조는 다른 컴퓨터 언어들을 뷰서버로 사용을 허용하고 자바스크립트가 기본언어이며 PHP, Ruby and Python 등이 사용가능하다. 다른 언어들을 쉽게 추가될 수 있도록 지원한다.

CouchDB는 외부의 소켓서버와 JSON 기반의 프로토콜을 사용하는 뷰 시스템을 제공한다. 그 결과로 뷰 서버들은 일련의 언어들로 개발하여 구성할 수 있다.

CouchDB는 2008년 2월에 아파치 인큐베이션에 자리를 얻었고 2008년 11월에는 최상위 단계의 프로젝트가 되었다. 0.9 라는 낮은 버전에도 불구하고 이미 많은 소프트웨어 프로젝트나 웹사이트들에 사용된다. (위키피디아 CouchDB 번역)

Technical Overview

설치하기

CouchDB의 위키 설치 페이지 참조

리눅스 우분투에 설치했다면
/usr/local/bin/couchdb 라는 실행파일로 구동이나 중지를 할 수 있다.

구동/중지

/usr/local/bin/couchdb -h
명령으로 관련 옵션을 볼 수 있으며
couchdb -b 로 백그라운드 서비스로 구동하며
couchdb -s 로 상태및 PID확인
couchdb -d 로 종료시킨다.

위 명령은 couchdb 에 접근권한이 있는 리눅스 사용자로 실행해야 올바른 결과를 볼 수 있다.
보통은 couchdb 라는 계정을 만들어 사용한다.

CRUD 하기

couchdb 를 구동하면

http://localhost:5984/_utils

로 접속하여 웹콘솔을 사용할 수 있으며, 테스트케이스를 돌리거나 간단한 데이터베이스를 만들어 데이터를 넣어볼 수 있다.

참고 사이트

This article was written in springnote.

« PREV : 1 : 2 : 3 : 4 : 5 : 6 : 7 : 8 : 9 : 10 : ··· : 158 : NEXT »