我们希望跟踪Rails应用程序的生产数据,以便我们可以在几个月内对其进行分析。
更确切地说,我们有一些数据模型具有“状态”和日期列,可以经常更改。 我的想法是每次状态或任何其他属性发生变化时,在DB或日志文件中的某处写入新行。这些行包含该对象的所有属性的副本。
我看到了不同的解决方案:
如果数据存储在数据库中,则更容易提取数据。日志文件更快,并且不会减慢这个过程。我无法弄清楚什么是最好的方法,或者是否有任何其他解决方案/实施。
答案 0 :(得分:0)
答案 1 :(得分:0)
有一个选项作为宝石:http://github.com/andersondias/acts_as_auditable
现在我在保存审计表或使用CVS格式保存文件之间犹豫不决。我的感觉是第二个选项更好,因为文件写入速度更快,我们不依赖于与数据库服务器的连接。
任何单个BI工具都可以使用CVS文件作为数据源。问题是我每次更改表的结构时都必须创建一个不同的文件。但这是一个问题吗?
答案 2 :(得分:0)
我最终使用了一个观察者和一个带有FasterCSV的Logger来生成审核日志。
我无法正确复制/粘贴所有代码,因此这里有一篇博文的链接,供感兴趣的人使用:
log rails production data to perform some audit (bi)
这可以很容易地适用于任何Rails模型。 :)