Cassandra应该存储衍生价值吗?

时间:2014-11-11 16:46:47

标签: cassandra

我正在构建一个RESTful服务来返回3个变量:isMachine,hasWheel,isCar。

{
    "isMachine": true,
    "hasWheel": true,
    "isCar": true 
}

" ISCAR"是一个派生数据,isCar = isMachine&& hasWheel。

我使用Cassandra作为数据存储区。

每周都会发生数据摄取。

我有两个选择: 1.在数据摄取阶段进行计算,并在不进行计算的情况下进行检索。 2.计算值" isCar"在阅读时动态。

我的问题:最佳做法是什么?我知道这个决定总是需要权衡。我想知道原因。

谢谢。

2 个答案:

答案 0 :(得分:1)

假设你的3个变量不是你所存储的实例,那么你需要更好的性能是一个简单的问题:检索或插入/索引。如果你每周进行一次数据摄取,你可能不会在这里遇到瓶颈,所以我会在这里尽可能多地计算

答案 1 :(得分:1)

答案不涉及Cassandra,而是您的应用领域 - 如果将来您需要知道为什么车辆不是汽车,由于信息丢失而无法使用。

就性能而言,计算非常简单,从Cassandra中检索两个布尔列而不是一个布尔列对性能没有影响。

如果计算需要努力工作并经常读取数据,我会计算一次并保存它们(如果信息丢失是可接受的情况)