클라우드 컴퓨팅 & NoSQL/CouchBase 7

카우치베이스(Couchbase) 서버-#6 아키텍쳐 구조 살펴보기

Couchbase Server#6. Couchbase server 구조 조대협 http://bcho.tistory.com 이번에는 마지막으로 카우치베이스의 아키텍쳐에 대해서 알아보도록 하자노드와 클러스터 (Node & Cluster)노드는 물리적인 서버에서 기동하는 하나의 카우치베이스 인스턴스로, 카우치 베이스는 여러 개의 노드로 이루어진 클러스터로 구성된다 클라이언트 SDK (Client SDK)프로그래밍 언어별로 카우치베이스에 접근하기 위한 API(SDK)를 제공한다. vBucket 개념카우치베이스는 실제데이타와 물리서버간의 맵핑을 vBucket이라는 것을 이용해서 관리한다. 카우치베이스는 키-밸류 스토어이다. 그래서, 각 키가 어디에 저장되어 있는지를 vBucket이라는 단위로 관리 하는데. 키에 ..

카우치베이스(Couchbase) 서버-#5 node.js를 이용하여 뷰를 호출하기

Couchbase Server#5. node.js를 이용하여 뷰를 호출하기 조대협 http://bcho.tistory.com 앞서 설명한 뷰를 node.js 카우치베이스 SDK를 이용해서 호출해보자, 카우치베이스는 node.js와 몽고DB만큼이나 궁합이 잘 맞는 것 같다. 매우쉽게 뷰를 호출할 수 있다. 뷰 호출 메서드는var viewQuery = bucket.view(“디자인도규먼트 이름”,”뷰 이름”,{옵션1:값,옵션2:값,…})로 뷰쿼리를 생성한 후에, viewQuery.query(function(err,results){…} );로 호출하면, 호출 성공시, 결과가 result 변수로 리턴된다.그러면 간단한 예제를 보자. “mybucket”이라는 버킷이 있고, 안에 다음과 같은 데이타가 있다.[ { ..

카우치베이스(Couchbase) 서버-#4 뷰(View) 이해하기

Couchbase Server#4. 뷰(View) 이해하기 조대협 http://bcho.tistory.com 뷰는 카우치베이스의 아주 강력한 기능중의 하나이다. RDBMS의 뷰의 개념과 유사한 개념으로, 원본 데이터로부터, 필터링을 통하여 원하는 형태의 데이터로 변환하여 보여주는 일종의 읽기 전용 테이블과 유사한 개념으로 보면 된다. 이를 통해서 키-밸류 스토어 기능만 제공하는 일반 NoSQL에 비해서 filtering 뿐만 아니라, Indexing,grouping,ordering과 같은 다양한 기능을 이 뷰를 이용하여 사용할 수 있다.카우치베이스의 뷰는 원본 데이터에서 자바스크립트로된 맵&리듀스(Map&Reduce) 함수를 통해서 데이터를 정재한 후에, 뷰로 만들어낸다. 간단하게 개념을 잡아보면 다음과..

카우치베이스(Couchbase) 서버-#3 node.js를 이용한 카우치베이스 서버 CRUD 구현하기

Couchbase Server#3. node.js를 이용하여 카우치베이스에 CRUD 구현하기 조대협 http://bcho.tistory.com SDK를 이용한 프로그래밍 이제, 프로그래밍 언어를 이용해서 실제로 카우치베이스에 데이타를 저장해보자. 카우치베이스에서 지원하는 데이터 타입 앞서 예제에서 카우치베이스 웹콘솔을 통해서 JSON 도큐먼트를 저장해봤다. 카우치베이스는 JSON 도큐먼트뿐만 아니라, 키-밸류 스토어 형식으로 일반 string(문자열), integer(숫자)도 저장할 수 있다. JSON 도큐먼트 이외의 데이터 형은, 콘솔에서는 테스트가 불가능하고, SDK를 이용해서 프로그램을 작성해서 테스트를 해야 한다. SDK를 이용한 데이터 접근 카우치베이스의 데이타를 접근하기 위한 메서드들은 다음과..

카우치베이스(Couchbase) 서버-#2 기본 개념 잡기

Couchbase Server#2 기본 개념 잡기 조대협 http://bcho.tistory.com개념 잡기 카우치베이스 서버 설치가 끝났으면 기본적인 개념을 잡아보도록 하자. Document 기반의 Key-Value 스토어 카우치 베이스느 키, 밸류 스토어이다 하나의 유니크(Unique)한 키에, 값을 저장하는 방식이다. 저장 되는 값은 JSON 도큐먼트가 저장된다. 키는 최대 250 바이트, 값(밸류)의 경우에는 카우치베이스 버킷의 경우 20MB, Memcached 방식의 버킷의 경우 1MB 까지 저장이 가능하다. 저장할때, 키와 값뿐만 아니라 메타데이타가 같이 저장되는데, 메타 데이타에는 CAS,TTL,Flag 값 3가지가 저장된다.저장할때, 키와 값뿐만 아니라 메타데이타가 같이 저장되는데, 메타 ..

카우치베이스(Couchbase) 서버-#1 소개 및 설치하기

Couchbase Server#1 소개 및 설치 조대협 http://bcho.tistory.com 근래에 여러 NoSQL이 소개되었지만 그중에서 좋은 솔루션인데도 불구하고 그다지 국내에서는 널리 알려지지 않은 카우치베이스에 대해서 소개하고자한다. 모바일 게임중에 유명한 쿠키런의 경우 카우치베이스를 백엔드로 사용하고 있는데, 안정성이나 성능등이 매우 뛰어나고, 사용하기 또한 매우 쉽다. 오늘은 고성능 NoSQL 서버인 카우치베이스(CouchBase) 에 대해서 소개하고자 한다. 소개 예전에 메모리 캐쉬 솔루션인 memcached에 디스크 persistence 기능을 추가하여 membase라는 솔루션이 있었는데, 이 제품에 Apache의 카우치디비(CouchDB)를 기반으로 새롭게 만든 솔루션이 카우치베이스..