2011-09-23 56 views
0

我在構建一個應用程序,需要存儲用戶執行的大量事件。 (想想每月數百萬的LOTS)。在Rails中使用統計表

我需要報告這些事件(上個月的類型總數等),並需要一些有彈性和快速的東西。

我已經玩弄Redis等來存儲數據的聚合,但這可能意味着我正在建立一個龐大的單一數字聚合的商店,不可重建。

儘管這不是一個糟糕的解決方案,但我正在考慮將原始事件數據存儲在表中,然後我可以根據需要查詢,並可能定期生成聚合計數器。這樣就可以讓我隨着時間的推移添加計數器,並且可以對發生的事情進行臨時檢查,這些事情總計不允許。

問題是,最好怎麼做?我顯然不希望爲每個表創建一個模型(這是Rails更喜歡的模式),所以我只需創建表並根據需要與原始SQL進行交互,或者是否有其他選擇來處理這種數據?

回答

1

我在一個應用程序,有這樣類型的數據流和解決方案的工作如下:

- >店內一切 - >創建聚集 - >刪除後短期內的一切(1周或者有些東西)釋放資源

因此,您可以簡單地使用rails存儲事件,從另一個快速腳本(cron sql)創建一些背景聚合,使用rails讀取聚集,然後使用另一個後臺腳本來刪除原始事件。

還..軌和性能不太齊頭並進一般;)

+0

THX採摘答案,不要猶豫,當你這樣做是爲了給予好評;) –