如何使Riak数据本地化?

Ale*_*kin 0 cassandra riak

我正在设计一个Riak集群,并想知道是否有可能提示Riak应该在集群的单个节点上放置一堆特定的密钥?

例如,有一些用户的私人数据,只有她能够访问.这些数据包含~10k文档(太大而无法保存在一个密钥/文档中),并且为了提供一个页面,我们需要检索~100个文档.最好将整个数据集保留在一个节点上+将应用程序放在同一个实例上以使其更快.

AFAIK在Cassandra上很容易:只需使用OrderedPartitioner和这样的键:<hash(username)>/<private data key>.这样,几乎所有用户密钥都将保存在单个节点上.

sea*_*bbs 5

使用Riak的一个要点是您的数据被复制并在整个群集中均匀分布,从而提高了对网络分区和中断的容忍度.在特定节点上放置数据会违反该目标并增加您的漏洞.