⌘ 카우치베이스 서버 클러스터는 1개 부터 1024개 까지 노드로 구성 될 수 있다. ⌘ 노드 하나가 하나의 카우치베이스 인스턴스. ⌘ 데이터는 클러스터내 노드들에서 파티션되고 분산된다. ⌘ 카우치베이스 서버는 두개의 주요 컴포넌트가 있다. 클러스터 매니저 * 클러스터내 노드 설정 * 노드간 데이터 리발란싱 * 페일오버 후 데이터 복제 핸들링 * 통계자료 수집 * 로깅 * 클라이언트가 어디서 데이터를 찾아야 하는지 알려줄 수 있게 클러스터 맵(Cluster map)을 업데이트하며 관리한다. * 어드민 API를 노출하고 있고 웹 매니징 콘솔도 있다. * 클러스터 매니저는 distributed, concurrent 한 처리에 적합 하도록 Erlang/OTP로 만들어졌다. 데이터 매니저 * 데이터 저장소와 검색에대한 관리 * 메모리 케시 레이어, Disk Persistence Mechanism, 쿼리 엔진을 포함하고 있다 * 카우치베이스 클라이언트는 카우치베이스 매니저가 제공하는 클라이언트 맵을 사용한다. 이 맵을 통해 필요한 데이터를 가진 노드를 찾고 그 노드와 통신한다. ⌘ 데이터 스토리지 카우치베이스는 데이터를 버킷에 관리한다. * 리소스와 연관된 로지컬한 그룹이다. * 오라클의 스키마 정도로 생각하면 된다. 두가지의 버킷종류를 제공한다. * 카우치베이스 * 멤케시 멤케시 버킷은 * 1MB 크기의 메모리에 바이너리로 데이터를 저장한다. * 데이터를 디스크에 저장하지 않는다. * Redundancy 하려고 노드에 데이터를 복제 하지 않는다. 카우치베이스 버킷은 * JSON Document, Primitive data 타입이나 Binary blob 형태로 20MB 까지 데이터를 저장 할 수 ...