2013-06-12 2 views
2

Official couchbase documentation은 말합니다.Couchbase가 Memcached 대체품으로 어느 정도까지 하락했는지

"당신은 이미 당신이 바로 카우치베이스 서버를 사용할 수 있습니다 후 Memcached가 프로토콜 를 사용하는 응용 프로그램이있는 경우. 그래서, 당신은 단순히 당신 같은이 서버에 응용 프로그램을 가리킬 수 있다면하는 어떤 다른 memcached와 서버 코드 변경이나 특수 라이브러리가 필요 없으며 이 필요하고 응용 프로그램은 표준 memcached 서버와 똑같이 작동합니다. 클라이언트가 에 대해 알지 못하면 데이터가 복제되고 지속되며 클러스터는 일 수 있습니다 확장되거나 완전히 투명하게 계약되었다. "

우리는 이미 libmemcached C API를 사용하여 memcached와 작동하는 C 기반 응용 프로그램을 가지고 있습니다. 우리는 지속성 (주로)을 원했기 때문에 couchbase로 이동하고 싶었습니다. 우리는 앞서 언급 한 Couchbase 인용문을 보았고 이것을 (Couchbase 버켓과 함께) 시험해 보았습니다. 즐거운 놀라움이었습니다. 그것은 그렇게했습니다. +1.

우리는 지금 libmemcached API는 카우치베이스 주식회사를 사용하기에 충분한 경우

  1. , 질문은 다음, 또한 Couchbase C api이 존재 함을 발견, 무엇 카우치베이스 주식회사 C API를 제공합니까?
  2. Couchbase 서버의 Couchbase 유형 버킷과 대화하기 위해 (기존) libmemached API를 사용하는 (계속) 단점은 무엇입니까?
  3. Couchbase C API를 사용하여 Couchbase 서버와 통신하도록 응용 프로그램을 업그레이드하면 어떤 이점이 있습니까?
+1

1) 문서 : http://www.couchbase.com/docs/couchbase-sdk-c-1.0/api-reference-summary.html 2) 추가 기능 외에도 누락 된 부분이있을 수 있습니다. 3) API에 의해 노출 된 기능이 프로젝트에 유용하지 않은 경우 아무 것도 없습니다. – WiredPrairie

답변

3

1 libmemcached API는 카우치베이스 주식회사를 사용하기 충분하다) 경우, 어떤 카우치베이스 주식회사 C API를 제공합니까? libmemcached에서 구현 될 수 있지만 등 복제 그들 중 일부에서 읽을 카우치베이스 주식회사가 관찰 잠금 얻을, 잠금 해제, 터치와 같은 새로운 작업에 memcached와 프로토콜을 확장 물론

는 (I 터치 명령에 대한 패치를 완료했습니다 얼마 전 바닐라 memcached 서버에서 지원되지 않기 때문에 libmemcached에서 테스트하고 유지 관리하는 것이 더 어려울 것입니다. 복제본에서 읽은 것과 같은 다른 명령은 libmemcached라는 용어로는 구현할 수 없습니다. Couchbase API의 또 다른 그룹은 map/reduce로 빌드 된 데이터베이스 인덱스에 대한 뷰 쿼리입니다. libcouchbase가이를 수행 할 수 있습니다.

2) (카우치베이스 주식회사 서버의 유형 버킷 카우치베이스 주식회사 얘기하는() 기존 libmemached API를 사용하는) 지속의 단점은 무엇입니까?

"스마트"클라이언트가 아닌 "벙어리"또는 "레거시"클라이언트로 간주되는 다른 모든 memcached 클라이언트와 마찬가지로 Libmemcached도 마찬가지입니다. 차이점은 클라이언트가 클러스터 토폴로지를 인식하는지 여부입니다. 레거시 클라이언트는 클러스터의 단일 진입 점을 통과하거나 일종의 균형 조정 (예 : 라운드 로빈)을 수행해야합니다. 그리고 기본적으로 토폴로지를 인식하고이 노드가 키를 소유하지 않은 경우 경로를 재 지정할 수있는 서버 측 프록시를 사용합니다. 따라서 네트워크/CPU/메모리 용량이 실제로 요청을 처리하기에 충분할 때 (클라이언트 측에서이 프록시를 설정할 수는 있지만)이 프록시의 한계에 부딪 힐 수 있습니다. 스마트 클라이언트는 클러스터 토폴로지를 인식하고 변경 사항을 따르므로 키의 재 라우팅을 제거 할 수 있습니다.

3) Couchbase C api를 사용하여 Couchbase 서버와 통신 할 수있는 응용 프로그램을 업그레이드 할 때의 이점은 무엇입니까?

memcached의 다른 API 및 확장 API에 액세스 할 수 있습니다. 또한 Couchbase 클라이언트는 네트워크 사용을 최적화 할 수 있습니다.

+0

고마워요 @ avsej 나는 공식적인 couchbase 소스에서 답변을 가지고있는 것 같아요 :) – binithb