我正在开发一个项目,我们为用户存储数百万个端点(例如用户为页面添加书签、用户喜欢链接并且我们存储它、用户保存最喜欢的端点等)。我们存储了超过 10-1500 万个端点。我们估计这些端点中有 10-20% 是不起作用的/被删除/移动/死端点。如何从数据库中删除这些 URL?
有时网站可能会暂时关闭,如果脚本给我 404,我不想删除它,这样的情况很多。
我的方法应该是什么?谢谢你
有很多方法可以解决“过时数据删除”问题。一般来说,您可以在主动方法和被动方法之间进行选择。 积极主动
例如
作业运行#1:[2021-01-01T00:00:00Z,2021-01-01T09:17:10Z]
如果您需要处理暂时性问题(站点暂时不可用),那么您可以在多个不同的日子运行作业,以确保它们要么永久不可用,要么存在一些暂时性故障,但现在已经消失。您可以引入
可用性状态来捕获每个单独记录的作业运行结果。 这是状态转换的示例:
反应式
结论 两种方法各有利弊。例如,主动方法从最旧到最新扫描链接,这可能非常耗时才能获取最新记录。反应式方法仅扫描
active将这两种方法结合起来从多个角度解决问题可能是有意义的。每当您评估选择哪种解决方案时,请同时考虑权衡,例如引入的复杂性、请求处理增加的延迟等。