(원문 : http://www.couchbase.org/wiki/display/membase/Building+Membase+on+Linux+From+Source)
(글 번역도 영어이고, 쓸데없는 내용도 많기에 중간 생략을 하며, 편의상 글도 높임말보다 이래하기 편한 평문으로 구성한다.)
membase 는 couchbase 에서 지원하는 memcached의 cluster 버전이다. 라이선스는 현재 아파치 2 라이선스를 적용 중이다. Couchdb 와의 기능을 써도 되지만 안 써도 되는 구조이며, couchbase에서 제시하는 이상적인 사용 전략은 당연히 RDMS à NoSQL à CouchDB 와 cluster/middleware à Membase 이다. 하지만 사용자 취향과 능력에 따라 섞어 짬뽕으로 써도 된다. 실제 membase 의 스폰서 중하나인 nhn도 자체 memcached 클러스터 버전인 arcurs 등을 개발하여 사용한다.
설치본은 community 용은 무료로 설치본을 제공하며, 기업용은 연락처 제시 후 다운로드가 가능하다. 기본 지원으로 redhat rpm, debian deb, windows, mac os x 를 지원한다. (http://www.couchbase.com/downloads/membase-server/community)
물론 소스 코드를 받아서 직접 빌드도 가능하며, 아래는 직접 빌드 방법을 기술한다.
일단 다운로드 싸이트에서 membase-server_src-1.7.0.tar.gz 를 받는다. (현재 1.7임. 1.6.x 도 존재한다.)
(1) Ubuntu Ubuntu 11.04 사용 시,
# sudo apt-get install erlang libicu-dev libevent-dev libcurl3-dev g++ gcc binutils
…로 필요한 것을 설치함. Couch 계열이 기반 언어가 얼랭이며, memcached를 위해서 libevent는 필요하다. Curl 도 사용하므로 설치 해준다.
(기본 설치는 /opt/membase/ 에 설치된다.)
(2) Cent OS 5.4 사용 시,
# yum install libevent-devel curl-devel gcc-c++ g++ gcc make
…얼랭 없으면 그것도 설치할 것…
(3) Mac os x
….요건 좀 짜증나는 해설인데,, 거의 알아서 깔아야 한다. MacPorts 등을 이용해서 설치를 하는 방법도 있을 것 같다. (이건 실험 못 해봤음)
(여담으로 본햏도 snow leopard 를 사용하지만, 누가 대용량 서버에 가격대 성능비가 비싼 애플 서버로 도배하것는가?! 99.9%는 리눅스 서버에서 사용할 목적일 것이다. 맥에서 빌드는 그냥 nothing but mac 인 사람에게만 해당된다고 보면 될 듯하다. 이것도 기냥 설치본[기냥 단일 응용 프로그램이다.]을 받아서 깔아서 테스트해보라…)
http://packages.couchbase.com/releases/1.7.0/Membase-Server-Community-1.7.0.zip
(4) Windows
…mingw, cygwin 등이 먼소리인지도 모르겠다면, 당연히 pre-built 버전을 받아서 설치하라.
http://packages.couchbase.com/releases/1.7.0/membase-server-community_x86_1.7.0.setup.exe
(백신 v3가 있으면 경고를 띄우는데, 신경쓰지 말고 진행하도록 하자 K )
membase는 cluster 와 databse 연동 등도 고려한 구조이기에 memcached 보다는 휠씬 구성이 복잡하다. 따라서 빌드 & 설치가 어려운 사람은 community 버전 것으로 설치하도록 하자.
정상설치 후, 웹 브라우저로 http://서버주소:8091 를 연결하면 membase 구성이 가능하다. 단일 구성도 가능하고, 클러스터 구성도 가능하다. 또한 기존 memcached 만을 사용하는 것도 가능하고, membase 의 주요 컨셉 중 하나인 vBucket 구성도 가능하다. 취향에 맞춰서 구성하도록 하자.
설치 후 테스트는 아래과 같이 텔넷에서 입력 후, 출력도 아래와 같이 나오는 지를 확인해 보면 된다.
$ telnet localhost 11211 set some_greeting 0 0 5 hello STORED get some_greeting VALUE some_greeting 0 5 hello END |
모든 과정이 끝났으면, 이젠 membase 만의 고유 architecture 이해와 클라이언트 개발 방법(전략 및 api )이해로 넘어가면 된다…
'DB' 카테고리의 다른 글
NoSQL 주요 DB 비교: CouchDB와 MongoDB의 차이점과 활용성 (0) | 2011.08.04 |
---|---|
Membase 서버의 기본 네트워크 소켓 포트 (0) | 2011.07.19 |
SQLite의 장점과 단점: 간단한 데이터베이스 관리 솔루션 (2) | 2007.07.24 |
MySQL 백업 / 복구 (0) | 2007.06.27 |
SQL 내부 조인 사용법 비교: T-SQL vs 표준 SQL (0) | 2007.06.27 |