2012-02-07 30 views
2

我的問題如下,在NoSQL家族中,當我們存儲這些值時。NoSQL數據應該是預先計算好的數據嗎?

存儲的值是否應該完全準備好以便直接使用它?或者也可以以一種可能需要額外處理才能用於應用程序的方式存儲該值?

快速舉例,如果我們想從整天中計算一個平均值,那麼總是保持平均值存儲更合理,或者最好是可能有一些鍵代表每個單獨的值,使應用程序計算平均值?。

一旦我們獲得價值,第一種方法會更快,但會限制從整天獲得價值,而第二種方法會更慢(我們需要每次計算平均值),但我們也可以計算每小時的平均值...

對我來說,這是一個哲學問題,同樣應該是NoSQL數據庫中的數據完全可以使用,或者有意義的是以需要某種方式的數據額外的過程。

感謝很多:)

+0

此外,還有一個考慮因素。如果我們想存儲預先計算的平均信息,那麼這意味着讀寫所有的時間到noSQL解決方案,假設noSQL通常不提供交易,如果兩個實體試圖獲取當前的平均值,我將沒有一致的數據,然後嘗試計算新的。 – 2012-02-08 01:06:32

回答

0

在我的理解NOSQL理念告訴儲存準備使用預先計算的值。
我們可以考慮讓它有點失速,例如重新計算每小時的平均值。
我可以將NOSQL視爲RDBMS,它放棄連接並掃描並始終通過主鍵訪問數據。爲此,它被授予了可擴展性。因此,通過將複雜性的一部分移至應用程序層就變得簡單了。因此,我覺得在應用程序級別上保持平均值的負擔是合乎邏輯的。
我們也可以從不同的角度看同一個問題。讓我們假設我們在NOSQL服務器端擁有很好的羣組功能(我們不這麼做)。很難確保「關鍵」訪問的「主要」情況下的良好服務質量。即使對於成熟的RDBMS,確保混合OLAP-OLTP負載上的良好性能也不是一件容易的事情...

相關問題