잠재적 인 시나리오에 대한 질문이 있으며 우리의 가정이 정확한지 알고 싶습니다. (DSE 5.x를 가진 사용 카산드라 3.x를)새로운 cassandra 데이터 센터의 키 공간 동기화
우리는 클러스터에 새 (신선한) 데이터 센터를 추가하기 위해, 우리가 필요로하는 docs에서 배운 임시과 같이 ReplicationFactor을 설정합니다 :
{'class' : 'NetworkTopologyStrategy', 'DC1' : 3, 'DC2' : 0 }
여기서 DC1은 현재 실행중인 데이터 센터이고 DC2는 추가 할 데이터 센터입니다. 이 테스트는 기존 라이브 링의 데이터 스트리밍이 새로운 링에 미치는 영향을 이해하는 데 도움이되었습니다.
이제 가상으로 하나의 DC로 복제 된 키 공간을 복제하여 현재 실행중인 다른 DC에 저장하는 가상 시나리오를 살펴보십시오. 키 스페이스 만들 때
: 그럼
CREATE KEYSPACE Foo WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'US' : 2, 'EU' : 0};
을, 비즈니스 요구 사항을 변경할 때 :
ALTER KEYSPACE Foo WITH REPLICATION = {'class' : 'NetworkTopologyStrategy', 'US' : 2, 'EU' : 2};
그것 때문에 0으로 모든 DC를 사용하여 응용 프로그램의 모든 새로운 keyspaces을 정의하는 것이 안전 간주됩니다 값은 어느 시점에서 수정 될 수 있습니다. 또한 복제 요소를 변경하면 키 공간을 다른 데이터 센터로 스트리밍 할 수 있습니다. 또는 nodetool rebuild
을 실행해야합니까?
감사합니다. 답변을 수락합니다. 빠른 사이드 질문입니다. ~ 1TB의 키 공간에서 전체 복제를 수행하는 데 걸리는 시간에 대한 측정 항목이 있습니까? –
@FredericCharette 모든 것은 클러스터의 노드 수와 사용 가능한 네트워크 대역폭에 따라 다릅니다. 그러나 지리적으로 분산되어있는 거대 규모의 클러스터에서는 노드 당 50GB를 각각 약 20 분 동안 부트 스트랩하기 위해 새로운 DC에서 노드를 얻을 수있었습니다. 다행히도 DC간에 빠른 연결이 있으며 그 이상을 수행 할 수 있습니다. – Aaron
굉장, 정보 주셔서 감사합니다! –