이 문제는 cassandra 사용자 메일 링리스트에서 가장 잘 받아 들여지는 것으로 생각됩니다. 그것은 사람들이있는 곳입니다.
카산드라는 자동로드 밸런싱이 없습니다 아직이지만 너무 먼 미래에 그렇게 할 수 있습니다. 이제 0.5 지점에서이 기능을 사용할 수 있습니다.
기본적으로 이미 실행중인 시스템에서 노드를 부트 스트랩하면 링에서 가장 좋은로드 균형을 유지하면서 그 노드를 배치해야합니다. 노드를 한 번에 하나씩 추가하면 (즉, 한 노드가 다른 노드를 추가하기 전에 부트 스트랩을 마칠 때까지 기다리십시오), 키 배포가 시간이 지남에 따라 너무 많이 변경되지 않으면 꽤 잘 작동합니다.
그러나 키가 시간에 따라 변경 될 수 있으며 (특히 시간 기반 인 경우) 임시 해결책이 필요할 수 있습니다.
범위 스캔을 원하는 대상에 따라 다릅니다. 키의 PART 범위 스캔 만 필요하면 범위 스캔을 원하지 않는 비트를 해시 한 다음 키의 첫 번째 부분으로 사용할 수 있습니다.
주어진 파티션 내에서 키를 스캔 범위하려는 경우 지금 스캔
function makeWholeKey(partition, key) {
return concat(make_hash(partition), partition, key);
}
범위 싶지 않아 나는 키의 일부를 참조하려면 여기를 용어 "파티션"을 사용합니다
makeWholeKey (p, start)와 makeWholeKey (p, end) 사이를 스캔 할 수 있습니다.
그러나 파티션을 스캔하려면 운이 없어요.
하지만 노드가 make_hash() 출력 범위에 고르게 분포 된 토큰을 가질 수 있으며, 균등하게 분산 된 데이터를 얻을 수 있습니다 (모든 파티션이 하나 또는 두 개의 해시 값)
이 블로그에서 '키에 추가되는 해시'아이디어에 대한 자세한 정보를 찾았습니다. http://blog.evanweaver.com/articles/2009/07/06/up-and-running-with-cassandra/ – deepblue