메뉴얼 : http://www.mongodb.org/display/DOCS/Building
실행 환경 : ubuntu 11.04
v8 설치하기
만약에 몽고디비 src가 ~/workspace/mongodb-src-r1.8.2 에 있을경우
v8은 ~/workspace/v8 으로 받아놓자
v8 컴파일
v8 컴파일
필수 패키지 설치
sudo apt-get install subversion git-core tcsh git-core scons g++ libpcre++-dev
sudo apt-get install libboost-dev libreadline-dev xulrunner-1.9.1-dev
v8 다운로드
svn checkout http://v8.googlecode.com/svn/trunk/ v8
ubuntu 64bit에서 컴파일하기 위해서
scons arch=x64
mongodb 소스파일받기
1. http://www.mongodb.org/downloads 에서 가장 오른쪽의 source부분
2. wget http://downloads.mongodb.org/src/mongodb-src-r1.8.2.tar.gz
mongodb 컴파일하기
필수 패키지 설치
필수 패키지 설치
apt-get -y install tcsh git-core scons g++
apt-get -y install libpcre++-dev libboost-dev libreadline-dev xulrunner-1.9.2-dev
apt-get -y install libboost-program-options-dev libboost-thread-dev libboost-filesystem-dev libboost-date-time-dev
scons all --usev8
v8으로 계속 m/r을 돌리다보면 메모리릭이 있는거 같다..... jira에 해당 버그가 reporting되어 있는거 같은데....나중에 고친다고함 ㅋ
v8으로 계속 m/r을 돌리다보면 메모리릭이 있는거 같다..... jira에 해당 버그가 reporting되어 있는거 같은데....나중에 고친다고함 ㅋ
couchdb-python
homepage : http://code.google.com/p/couchdb-python/
api manual : http://packages.python.org/CouchDB/
설치
wget http://pypi.python.org/packages/source/C/CouchDB/CouchDB-0.8.tar.gz
압축을 푼후에 sudo python build install 하면 설치완료
python코드로 view를 작성하기 위해서 local.ini파일에 추가
[query_servers]
python=/usr/local/bin/couchpy
간략설명
couchdb.client : client library
couchdb.design : design document를 조작하기 위해서
couchdb.mapping : couchdb와 python object와의 맵핑
couchdb.view : python에서 view를 작성하기 위해서
추가적인 바이너리 제공
couchdb-dump : couchdb의 내용을 mime multi part file로 만든다
couchdb-load : cuochdb에 dump된 mime multipart file을 올린다
couchdb-replicate : 데이터가 변경되었을 경우에 replica에 변경사실을 알려주기위한 notification으로 사용가능하다
couchdbkit
http://couchdbkit.org/
view를 만드는 부분이 상당히 까다롭다
실제 view를 추가하기 위해서는 특정 디렉토리를 생성한후에 js파일을 만들어서 put명령어를 통해서 database에 적용시켜야한다
homepage : http://code.google.com/p/couchdb-python/
api manual : http://packages.python.org/CouchDB/
설치
wget http://pypi.python.org/packages/source/C/CouchDB/CouchDB-0.8.tar.gz
압축을 푼후에 sudo python build install 하면 설치완료
python코드로 view를 작성하기 위해서 local.ini파일에 추가
[query_servers]
python=/usr/local/bin/couchpy
간략설명
couchdb.client : client library
couchdb.design : design document를 조작하기 위해서
couchdb.mapping : couchdb와 python object와의 맵핑
couchdb.view : python에서 view를 작성하기 위해서
추가적인 바이너리 제공
couchdb-dump : couchdb의 내용을 mime multi part file로 만든다
couchdb-load : cuochdb에 dump된 mime multipart file을 올린다
couchdb-replicate : 데이터가 변경되었을 경우에 replica에 변경사실을 알려주기위한 notification으로 사용가능하다
couchdbkit
http://couchdbkit.org/
view를 만드는 부분이 상당히 까다롭다
실제 view를 추가하기 위해서는 특정 디렉토리를 생성한후에 js파일을 만들어서 put명령어를 통해서 database에 적용시켜야한다
#!/usr/bin/env python
#-*- encoding:utf-8 -*-
import datetime
from couchdbkit import *
class Greeting(Document):
author = StringProperty()
countent = StringProperty()
date = DateTimeProperty()
if __name__ == '__main__':
server = Server(uri="http://xx.xxx.xx.xx:5984")
db = server.get_or_create_db("mall")
Greeting.set_db(db)
greet = Greeting(
author = "kim",
content = u"김",
date = datetime.datetime.utcnow()
)
greet.save()
greet.babo = u"아니야"
greet.save()
- CouchBase Single Server 특징 (http://www.couchbase.com/products-and-services/couchbase-single-server)
- membase + couchone 합병하면서 CouchBase, Inc를 만들면서 만든 제품
- 기존의 CouchDB랑 같지만 GeoCouch가 미리 셋팅되어있다는 것만 다름 (이제 CouchDB가 아니라 CouchBase single Server임)
- 2011년 여름에 membase 형태의 couchBase로 업그레이될 예정이라고 함
- auto sharding은 지원하지 않는 듯함
- 외부 proxy를 통해서 만들어야하는 듯 : http://tilgovi.github.com/couchdb-lounge/
- CouchBase쪽에서 Moxy라는게 있긴한데.. shard같은 용으로 사용되는 것은 아닌듯함
- 최대 2개의 node에서 support없이 enterprise edition 을 사용가능 (실서비스에도 2개의 node까지는 무료사용)
- 2개이상의 node에서 무료로 사용하려면 community edition을 사용해야할듯
- develop환경에서는 무제한으로 사용가능
- 자세한 licence fee 는 : http://www.couchbase.com/products-and-services/Couchbase-suppor
- 설치
- 다운로드받은 deb 파일 설치 (community edtion으로 설치)
wget http://c3145442.r42.cf0.rackcdn.com/couchbase-server-community_x86_64_1.1.deb
sudo dpkg -i couchbase-server-community_x86_64_1.1.deb
기존에 couchdb가 설치되어있었다면 aptitude remove couchdb 로 삭제
- 기본적인 디렉토리 구조
/opt/couchbase-server 에 설치되는 듯
- couchDB에 대한 설정파일 : /opt/couchbase-server/etc/couchdb/default.ini , local.ini 파일
- couchDB데이터 파일 : /opt/couchbase-server/var/lib/couchdb
- demon start, stop
/etc/init.d/couchbase-server start
/etc/init.d/couchbase-server stop
- Futon UI 접속 (관리)
http://127.0.0.1:5984/_utils -