Cassandra數據庫不太適合聚合,這就是爲什麼我決定在寫入之前進行聚合。我正在爲每個用戶存儲一些數據(例如事務),這些數據是按小時彙總的。這意味着對於一個用戶,每個我們只有一行。Cassandra聚合
每當我收到新的數據,我看行當前小時,接收到的數據彙總,並把它寫背部裝有利用這些數據來生成每小時報告。
此正常工作與低速數據,但I(在分鐘例如100條記錄爲1個用戶)觀察時的速度是非常高的相當高的數據丟失。這是因爲讀取和寫入發生得非常快,並且由於「延遲寫入」,我沒有獲取更新的數據。
我認爲我的方法「在寫入之前聚合」本身是錯誤的。我正在考慮UDF,但我不確定它會如何影響性能。
在Cassandra中存儲聚合數據的最佳方式是什麼?
什麼樣的聚合和多少會在閱讀時被聚合。它多久閱讀一次?你有沒有考慮像Spark Streaming一樣批量聚合它們? –
在我的測試環境中,我在幾秒鐘內寫入了200條記錄(寫了一個連續發送數據的腳本)。我在每次插入前讀取行。我每5分鐘運行一次這個腳本。但在生產環境中,我期望比這更高的速度。最糟糕的情況是,同時可能會有1000條記錄。 – RhishiM88
「最佳實踐」是偏離主題**基於意見**和**太寬**請閱讀[我應避免詢問什麼類型的問題?](http://stackoverflow.com/help/dont-ask)然後嘗試提出更多問題。 –