我是否需要覆盖存储在数据库中的Google Analytics数据

时间:2018-01-11 10:27:07

标签: database mongodb google-analytics google-api google-analytics-api

我尝试将每7天的综合浏览量存储到数据库中。应用程序有一个计划任务,每30分钟从Google Analytics中获取大多数访问权限页面 存储页面URL(活动源)和计数到DB。

| _id | active_source | page_views |
| 1   | /foo-1        | 20         |
| 2   | /foo-3        | 9          |
| 3   | /foo-2        | 2          |

我应该在覆盖之前删除以前的数据吗? 我担心在删除数据库时,用户无法获取任何信息。

我使用的是MongoDB。

1 个答案:

答案 0 :(得分:1)

技术上,Google Analytics数据在72小时后不会更改。假设您使用的是Google Analytics报告API v4,则可以检查结果中的isgolden参数。如果数据是黄金的,那么你知道它已经完成处理并且永远不会改变。

因此,没有理由要求您已存储的数据已超过72小时,因为数据已完成处理。

过去我每晚都会运行一个请求,选择过去五天的数据。插入之前我会删除不到72小时。这将确保我总是在几天后得到最终总数,并且每天刷新不完整的数据,直到它被认为是最终的

夜间运行的例子。

  1. 删除过去三天数据库中的所有数据
  2. 过去四天从Google Analytics中请求数据
  3. 将数据插入数据库。
  4. 运行日期。

    今天是2018-01-11所以我删除了数据库中2018-01-10,2018-01-09和2018-01-08的所有数据。我从2018-01-11,2018-01-10,2018-01-09和2018-01-08中选择Google分析的所有行并插入它们。

    明天是2018-01-12所以明天我将删除数据库中2018-01-11,2018-01-10和2018-01-09的所有数据。我从2018-01-12,2018-01-11,2018-01-10和2018-01-09中选择Google Analytics的所有行并插入它们。请注意我将如何离开2018-01-08,因为这些数据现在已经处理完毕并且不会改变。

    通过这种方式,您可以获得过去三天的部分数据,并且只会更新可能未完成处理的数据