背景:Recomendations爲PHP和MySQL統計報告的Web應用程序
我在小公司「繼承」一個PHP Web應用程序和 經過多年的嘮叨終於得到了 去扔掉麪條代碼並重新開始。
我們要日誌在系統由例如每一個動作:
- 用戶X的角度觀測項目Y
- 用戶X更新項目Y 在Z城
- 新項目Y
及更高版本提供了有關在系統中完成的操作的不同分辨率(日,月,年) 的圖形。
在以前的版本中,我們有一個自2000年以來有2000,000條記錄的表,因此這會讓您知道我們已有的數據庫數量,這只是針對許多統計數據之一。
實際問題:
什麼建設一個接近實時 系統來創建此統計你有recomendations?
筆記:
- 圖形是通過谷歌的可視化API已經覆蓋
- 我不是adversed使用任何NoSQL數據庫或 郵件服務器,crons或不管這得到 完成任務,但會比較喜歡mysql/php 解決方案
- 我目前的思路是 自動爲每個 創建一個表我想保存,並創建 幾個聚合表(按月,按天,按年) 來緩存結果。
- 我知道是一個很寬泛的問題,但任何建議,歡迎
感謝@Frankie,我期待很多行,存儲在同一個表的所有統計數據將使巨大而緩慢的。再加上一些統計數據有額外的信息,例如在城市Z上的新項目Y其並非總是user_id。 – 2010-10-20 02:12:16
@Mon Villalon,我已經做了一些測試並相應地更新了答案。如果所有的查詢都採用好的索引,40M行應該沒有問題。不過,如果你發現數據庫正在掙扎,你可能會訴諸分區。 – Frankie 2010-10-20 02:28:15