2011-09-23 69 views
0

我在构建一个应用程序,需要存储用户执行的大量事件。 (想想每月数百万的LOTS)。在Rails中使用统计表

我需要报告这些事件(上个月的类型总数等),并需要一些有弹性和快速的东西。

我已经玩弄Redis等来存储数据的聚合,但这可能意味着我正在建立一个庞大的单一数字聚合的商店,不可重建。

尽管这不是一个糟糕的解决方案,但我正在考虑将原始事件数据存储在表中,然后我可以根据需要查询,并可能定期生成聚合计数器。这样就可以让我随着时间的推移添加计数器,并且可以对发生的事情进行临时检查,这些事情总计不允许。

问题是,最好怎么做?我显然不希望为每个表创建一个模型(这是Rails更喜欢的模式),所以我只需创建表并根据需要与原始SQL进行交互,或者是否有其他选择来处理这种数据?

回答

1

我在一个应用程序,有这样类型的数据流和解决方案的工作如下:

- >店内一切 - >创建聚集 - >删除后短期内的一切(1周或者有些东西)释放资源

因此,您可以简单地使用rails存储事件,从另一个快速脚本(cron sql)创建一些背景聚合,使用rails读取聚集,然后使用另一个后台脚本来删除原始事件。

还..轨和性能不太齐头并进一般;)

+0

THX采摘答案,不要犹豫,当你这样做是为了给予好评;) –