Rails - 保存每日指标

时间:2014-10-20 02:31:38

标签: mysql ruby-on-rails postgresql

我目前正在开发一个基于PostgreSQL的Rails应用程序,它为我们公司存储每日数据。我们在Facebook上投放广告,我们在任何时候都会投放几百个广告。我每天都会提取指标,然后导入我的应用程序,然后根据它是否存在创建或更新。但是,我希望能够在一周或一个月的过程中看到每日表现。最简单的方法是什么?

我的facebook_ad模型有X行数,每个广告系列有1行。每列表示一个特定的指标,即花费的金额,点击次数等。我应该为每个日期创建一个新表吗?有没有办法为每个条目添加时间戳并在查询中包含时间?直到这里,我取得了很好的进步,没有多少搜索让我采用了我可以使用的策略。 旁注,我们希望能够访问他们的API,这可能会解决大部分问题。但我们希望在此期间建立一些东西,因此我们可以在此之前尽可能高效,可能需要6个月或更长时间。

编辑::

我想根据每日数据查询和绘制数据。例如,从一个广告中获取10/01/14 - 10/08/14的指标,并且能够看到10/01/14:MetricA = 1,MetricB = 2; 2014年2月10日:MetricA = 4,MetricB = 5; 2014年3月10日:公制A = 6,公制B = 3等。我们希望能够看到趋势,看看变化如何影响绩效。

1 个答案:

答案 0 :(得分:0)

我肯定建议为每个日期创建一个新表 - 这将是一个数据管理的噩梦。根据您上面所说的内容,您不应该有任何理由不能将每个广告系列放在同一个表格中。您可以在表格中使用createdupdated列,默认为now(),如果您因任何原因更新,请将updated列设置为{{1}再次。 (我喜欢将这些列添加到我创建的每个表中 - 它通常对各种查询很有用。)

然后,您可以根据所需的时间范围查询该表,以获取性能统计信息。根据您要查询的内容的确切性质,Window Functions可能会非常有用。