【问题标题】:How to make Riak data localized?如何让 Riak 数据本地化?
【发布时间】:2011-03-06 02:21:18
【问题描述】:

我现在正在设计一个 Riak 集群,想知道是否可以提示 Riak 应该将一组特定的密钥放在集群的单个节点上?

例如,有一些用户的私人数据,只有她可以访问。该数据包含大约 10k 个文档(太大而无法保存在一个键/文档中),并且为了提供一页,我们需要检索其中的大约 100 个。最好将整个集群保持在单个节点上 + 将应用程序放在同一个实例上以加快速度。

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

【问题讨论】:

    标签: cassandra riak


    【解决方案1】:

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

    【讨论】:

    • 我相信使用我为 Cassandra 描述的设置可以实现复制甚至分发(假设用户数量远大于节点数量)。我在这里想做的是尝试让我的应用更接近数据,更多的 Map/Reduce 思维方式,但应用于 Web 服务。
    • 我可以理解,而且听起来 MapReduce 是合适的方法。但是将计算转移到数据和决定数据的位置是两个不同的问题。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-22
    相关资源
    最近更新 更多