나는 현재 Riak 클러스터를 설계하고 있는데 Riak에게 클러스터의 단일 노드에 특정 키 묶음을 배치해야한다는 것을 암시하는 것이 가능한지 궁금한가요?Riak 데이터를 현지화하는 방법은 무엇입니까?
예를 들어 사용자에게만 액세스 할 수있는 개인 데이터가 있습니다. 이 데이터에는 ~ 10k 개의 문서 (하나의 키/문서에 보관하기에는 너무 큼)가 포함되어 있으며 한 페이지를 게재하려면 ~ 100 개를 검색해야합니다. 단일 노드에서 전체 묶음을 유지하는 것이 더 낫습니다. + 동일한 인스턴스에서이 작업을 더 빠르게 수행하는 것이 좋습니다.
AFAIK 카산드라에서는 쉽게 사용할 수 있습니다. 바로 OrderedPartitioner와 다음과 같은 키를 사용하십시오 : <hash(username)>/<private data key>
. 그렇게하면 거의 모든 사용자 키가 단일 노드에 보관됩니다.
저는 Cassandra (노드 수보다 훨씬 많은 사용자 수를 가정)에서 설명한 설치를 사용하여 복제와 균등 분배를 모두 달성 할 수 있다고 생각합니다. 여기서 내가하고 싶은 것은 내 앱을 데이터에 더 가깝게 이동시키고 Map/Reduce 방식을 사용하지만 웹 서비스에 적용하는 것입니다. –
나는 그것을 이해할 수 있으며 MapReduce가 적절한 방법이라고 생각합니다. 그러나 계산을 데이터로 옮기고 데이터가 어디에 존재하는지 결정하는 것은 두 가지 다른 문제입니다. – seancribbs