2013-03-25 6 views
1

Cassandra와 Couchbase에서 구현 된 데이터 센터 복제 간의 차이점을 이해하려고합니다. 두 데이터 센터 (DC)가있는 경우 Cassandra처럼 보입니다. 모든 데이터가 둘 다 복제됩니다. Couchbase에서는 두 개의 DC가 서로 다른 데이터를 보유하고 서로 다른 DC간에 데이터 하위 집합을 수동으로 복제하도록 구성 할 수 있습니다. 맞습니까?Cassandra 데이터 센터 복제본 대 Couchbase 데이터 센터 복제본

Couchbase에서 데이터의 위치를 ​​클라이언트가 알 수있는 방법은 무엇입니까? DC2에 DC1에 데이터 보유를 쿼리하면 어떻게됩니까?

Couchbase에서 전체 시스템이 데이터가 복제되는 위치를 어떻게 인식합니까?

미리 감사드립니다.

답변

4

Couchbase XDCR (Cross Datacenter Replication)은 모든 데이터를 원본 버킷에서 대상 버킷으로 복제합니다 (연속적으로).

뉴욕 데이터 센터에 버킷 A가 있고 샌프란시스코 데이터 센터에 버킷 B가 있고 버킷 A에서 버킷 B로 XDCR을 구성하면 버킷 A의 모든 데이터가 버킷 B에 복제됩니다. 추가 필터. 그러나이 복제는 한 방향 일뿐입니다. 따라서 양동이 B에 직접 데이터를 쓰는 경우 두 데이터 센터에 모든 데이터가 저장되지는 ​​않습니다. 두 데이터 센터의 모든 데이터를 가져 오려면 버킷 B에서 버켓 A로 XDCR을 구성합니다.이 설명서에서는 설명서에서 양방향 복제라고합니다. 이 2 클러스터 구성에서는 모든 데이터 센터의 모든 데이터를 제공합니다.

Couchbase Client SDK는 단일 클러스터와 통신하도록 구성됩니다. 이는 클라이언트가 연결할 클러스터를 알아야한다는 것을 의미합니다. 샌프란시스코 클러스터에서 뉴욕 클러스터에 저장된 다른 데이터가있는 경우 응용 프로그램에 데이터를 찾는 위치를 알 수있는 논리가 있어야합니다.

가용성이 높은 사용 사례의 경우 일반적으로 region간에 양방향 복제가 설정되며 응용 프로그램은 클러스터를 선호하도록 설계되었습니다. 뉴욕에 가깝게 배치 된 응용 프로그램은 뉴욕 클러스터를 선호 할 수 있습니다. 문제가없는 한 해당 클러스터를 읽고 씁니다. 문제가있는 경우 뉴욕 데이터 센터가 다운 된 경우 샌프란시스코 데이터 센터로 전환하여 응용 프로그램을 계속 사용할 수 있습니다. 그러나 다시 말하지만,이 논리는 모두 응용 프로그램에 포함됩니다.

Robin이 언급 한 "스마트 클러스터 맵"은 단일 클러스터 내에서 데이터를 찾는 데 사용됩니다. 이 점을 이해하는 것이 중요합니다 다른 지역에 저장된 데이터를 찾습니다.

+0

정말 고마워요! 이것은 내가 찾고 있던 철저한 대답이다! 나는 종이의 상대적 작업 준비를 요구했다. Unlucky는이 Couchbase 동작에 대한 참조를 찾기가 매우 어려웠습니다. 어떤 문서를 추천 해 주시겠습니까? – cesare

+1

아마도 [매뉴얼] (http://www.couchbase.com/docs/couchbase-manual-2.0/couchbase-admin-tasks-xdcr.html)을 이미 참고했을 것입니다. 또한, [webinar] (http://info.couchbase.com/2013-webinar-couchbase-and-cross-datacenter-replication.html)를 볼 수 있습니다. – mschoch

1

Couchbase에서 교차 데이터 복제는 Bucket to Bucket을 사용합니다. Couchbase는 양방향 (Bi-Directional) 및 단방향 (Uni-Directional)의 두 가지 유형의 복제를 허용합니다. Bi-Directional을 사용하면 두 데이터 세트가 동일해질 것입니다. Uni-Directional을 사용한다면 이론적으로 다른 하나보다 큰 데이터 세트를 가질 수 있지만 일반적으로 그렇지 않습니다.

클라이언트 SDK는 스마트 클러스터 맵을 사용하기 때문에 데이터가 Couchbase에있는 위치를 알고 있습니다. 이 클러스터 맵은 항상 데이터가있는 위치를 추적하므로 올바른 노드로 요청을 전송합니다.

+0

고마워요! 그래서 각 클라이언트는 데이터가 저장된 위치의 완전한지도를 가지고 있습니다. 맞습니까? 그렇다면 클라이언트가 더 가까운 데이터 센터를 선택하는 방법은 무엇입니까? 그것은 클라이언트에게 투명하지 않은 것입니까? – cesare

+1

예 현재 버전의 couchbase 2.0.x에서는 버킷의 모든 데이터가 대상 클러스터에 복제됩니다. –

관련 문제