我有一個項目計算關於用戶性能的'統計'數量,然後顯示給他們。所有這些統計數據最終都來自記錄用戶與網站互動的「互動」大表。目前,所有這些統計數據都是通過查看這些數據來計算的。我們廣泛使用持久緩存來保持這些事情的快速進行。用戶統計:「interative calculation」或批量計算+高速緩存
我們正在考慮將統計值存儲在數據庫中的「迭代設計」中,在記錄每次交互時,我們根據每個分數對交互作用的貢獻更新值,所以我們基本上迭代更新值。 (現在我們只是骯髒的緩存)。
我看到了一些麻煩與迭代設計,因爲它意味着我們有這些冗餘,可能出存儲在我們的數據庫中,這使得增加新的統計困難,同步信息和手段上的每一次互動日誌更多的工作。但好處是它簡化了統計數據查找以單數據庫命中!
的東西在這個迭代設計提出了報警鈴我,但我不能否認的潛在節省時間的效益。我應該服從這種直覺嗎,還是繼續做下去?
某些數字: 每個統計量都是從幾百行和幾個db命中計算而來的。儘管被稱爲統計數據,但數字處理並不重要,真正的性能瓶頸在操縱數據。 – Chris