mysql - 如何将生产数据存储到 Rails 应用程序中的报告数据库?

标签 mysql ruby-on-rails logging reporting

我们想要跟踪 Rails 应用程序的生产数据,以便我们可以在几个月内对其进行分析。

更准确地说,我们有一些数据模型,其中包含可以经常更改的“状态”和日期列。 这个想法是在每次状态或任何其他属性发生变化时在数据库或日志文件中的某个地方写一个新行。这些行包含此对象所有属性的副本。

我看到了不同的解决方案:

  • 使用带有 after_save 的观察器,并将保存的数据复制到报告 Mysql 数据库
  • 使用记录器系统。
  • 在不同的级别上执行,在数据库级别,检测表中的更改并将受影响的行复制到报告数据库。

如果将数据存储在数据库中,那么提取数据会更容易。日志文件速度更快,不会减慢进程的速度。我不知道什么是最好的方法,或者是否有任何其他解决方案/实现。

最佳答案

你看过 acts_as_versioned 了吗?我确信有一个更现代的库为此目的而编写,但它可能会完成您需要的:对更新数据进行版本控制,以便您以后可以跟踪它。无论如何,它可能会为您提供一个模板。

关于mysql - 如何将生产数据存储到 Rails 应用程序中的报告数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3191519/

相关文章:

mysql - 将 SQL 数据从服务器 A 发送到服务器 B 的选项

css - rails 3 : Inheritence 中的 Controller 特定样式表

c# - 如何添加ILogger发送邮件服务?

c - 日志文件作为列表?

python - 如何在映射 Django 模型时使用多个外键

php - MySQL:如何使用 1 个 WHERE IN CLAUSE 从 2 个不同的表中获取结果

ruby-on-rails - Rails事件记录的 'where'方法异常

c++ - 重载C预处理程序宏-基于调用语法的区分

mysql - 如何指示 hbm2ddl 为 MyISAM 引擎生成 sql

ruby-on-rails - Rails 3.1策略,用于预编译 Controller 特定的JS Assets