首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否需要覆盖存储在DB中的数据?

是否需要覆盖存储在DB中的数据?
EN

Stack Overflow用户
提问于 2018-01-11 10:27:07
回答 1查看 192关注 0票数 1

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

代码语言:javascript
复制
| _id | active_source | page_views |
| 1   | /foo-1        | 20         |
| 2   | /foo-3        | 9          |
| 3   | /foo-2        | 2          |

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

我在用MongoDB。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-01-11 11:13:40

从技术上讲,谷歌分析的数据在72小时后不会改变。假设您使用的是v4,您可以在结果中检查isgolden参数。如果数据是金色的,那么您就知道它已经完成了处理,并且永远不会改变。

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

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

夜间跑步的例子。

  1. 删除数据库中过去三天的所有数据
  2. 请谷歌分析公司提供过去四天的数据
  3. 将数据插入数据库。

带着日期跑吧。

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

明天是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分析中的所有行,并插入它们。注意,明天我将如何离开2018-01-08,因为这些数据现在被处理,永远不会改变。

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48204821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档