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

Do I need to overwrite Google Analytics Data stored in the DB

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

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

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


我正在使用 MongoDB。

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

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

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

每晚的示例 运行。

  1. 删除数据库中最近三天的所有数据
  2. 请求来自 google 分析的过去四天的数据
  3. 将数据插入数据库。

运行 虽然有日期。

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

明天是 2018-01-12 所以明天我将删除数据库中 2018-01-11、2018-01-10 和 2018-01-09 的所有数据。我 select 来自 Google 分析的 2018-01-12、2018-01-11、2018-01-10 和 2018-01-09 的所有行并插入它们。请注意明天我将如何离开 2018-01-08,因为此数据现已处理并且不会更改。

这样你可以得到最近三天的部分数据,并且只更新可能未完成处理的数据