'package/couchbase'에 해당되는 글 3건

  1. 2011.11.03 couchbase 의 license
  2. 2011.07.06 CouchBase(CouchDB) Driver
  3. 2011.07.04 CouchBase Single Server

couchbase 의 license

|
licensing policy로 enterprise와 community 버전을 따로 만들어놨네
자세한 license policy는 요 페이지를 확인해보면될듯
 http://www.couchbase.com/products-and-services/Couchbase-support 
요약하자면 enterprise 버젼은  개발환경에서는 무료지만 production환경에서는 2개의 node까지만 free로 사용해야한다는것
community 버젼은 맘대로 사용해도 되는듯.
이래서 couchbase는 인기가 떨어지는거였구나 (몬가 반쪽짜리 free software네. mongodb의 경우는 10gen에서 직접 support해주는데에
대해서만 fee를 받는거랑 틀리네)
community 버젼은 latest, greatest, bleeding edge 라고 되어있으니 trunk버전정도인듯하다.
음 membase server 에서 이름도 couchbase server로 이름이 2.0에서 바뀌는듯한데
이녀석들은 몬가 네이밍 정책도 헛갈리고..영 그렇네.

나의 짧은 지식으로는  membase server는 memchaced(key-value : NoSQL) + disk persistency + cluster management 인 버젼이라고 생각하면될거 같고
couchbase server 2.0으로 가면서 couchdb + GeoCouch + memchaced(key-value : NoSQL) + cluster management 인 버젼이 아닐까 생각된다.

그냥 1.7.2 버젼에서 올라가면서 membaser server에서 couchbaser server로 이름을 바꾼거 같다. 여기서 말하는 key-value NoSQL 이라는것도
document base가 되는거 같기도하고... value가 json을 지원해서인건지...영 헛갈리네. 모 혀재로는 couchdb + memcached + cluster management 라고 생각해야할 듯
5분 동영상을 보니 mongodb에 비해서 탁월한 UI와 사용성의 관리 툴을 제공하는거 같다.
mongodb의 관리툴은..모.....third party것을 쓰거나 그쪽에서 제공하는 saas 를 이용해서 상태를 모니터링하는정도인거 같은데
서비스 환경의 db를 saas형태로 상태 모니터링하는건 좀 아닌거 같다....

mongodb는 주는 document oriented + auto sharding + easy scale out 이고 부로 map reduce인거 같았는데 (데이터가 적으면
map reduce가 괜찮은 성능을 보이지만 데이터가 많아지면.. 약간...좀...또한 sharded 환경에서의 reduce 옵션의 M/R에는 버그가
좀 있는 거같다)
couchbase server는 어떨지 궁금하다. 
일단 사용해봐야겠다 ㅋㅋㅋ 
And

CouchBase(CouchDB) Driver

|
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에 적용시켜야한다


#!/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()
 



 
And

CouchBase Single Server

|
  • 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은 지원하지 않는 듯함
    • 최대 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 





And
prev | 1 | next