2012-02-07 34 views
2

我的问题如下,在NoSQL家族中,当我们存储这些值时。NoSQL数据应该是预先计算好的数据吗?

存储的值是否应该完全准备好以便直接使用它?或者也可以以一种可能需要额外处理才能用于应用程序的方式存储该值?

快速举例,如果我们想从整天中计算一个平均值,那么总是保持平均值存储更合理,或者最好是可能有一些键代表每个单独的值,使应用程序计算平均值?。

一旦我们获得价值,第一种方法会更快,但会限制从整天获得价值,而第二种方法会更慢(我们需要每次计算平均值),但我们也可以计算每小时的平均值...

对我来说,这是一个哲学问题,同样应该是NoSQL数据库中的数据完全可以使用,或者有意义的是以需要某种方式的数据额外的过程。

感谢很多:)

+0

此外,还有一个考虑因素。如果我们想存储预先计算的平均信息,那么这意味着读写所有的时间到noSQL解决方案,假设noSQL通常不提供交易,如果两个实体试图获取当前的平均值,我将没有一致的数据,然后尝试计算新的。 – 2012-02-08 01:06:32

回答

0

在我的理解NOSQL理念告诉储存准备使用预先计算的值。
我们可以考虑让它有点失速,例如重新计算每小时的平均值。
我可以将NOSQL视为RDBMS,它放弃连接并扫描并始终通过主键访问数据。为此,它被授予了可扩展性。因此,通过将复杂性的一部分移至应用程序层就变得简单了。因此,我觉得在应用程序级别上保持平均值的负担是合乎逻辑的。
我们也可以从不同的角度看同一个问题。让我们假设我们在NOSQL服务器端拥有很好的群组功能(我们不这么做)。很难确保“关键”访问的“主要”情况下的良好服务质量。即使对于成熟的RDBMS,确保混合OLAP-OLTP负载上的良好性能也不是一件容易的事情...

相关问题