最近,我发现自己处于数据库纠结中,管理层希望能够从数据库中删除数据,但仍希望数据出现在其他地方。示例:他们希望删除产品whizbang的所有实例,但他们仍希望whizbang出现在销售报告中。 (如果他们在前一个日期开了一个)。
现在我可以添加一个字段,比如is_deleted,它将跟踪该产品是否已被删除,因此仍保留我的所有引用,但在一段时间内,我有可能容纳大量死数据。 (从未再次访问的数据)。如何处理这不是我的问题。
我很想知道,根据您的经验,数据的平均寿命是多少?也就是说,平均数据在被替换或删除之前有多长时间存活或有效?我知道这与您所处的数据类型有关,但当然所有数据都有某种生命周期?
答案 0 :(得分:5)
数据永远存在......或者经常应该存在。一种常见做法是记录结束和/或开始日期。因此,对于您的whizbang,您有一个开始日期(以便它在正式发布之前不会出现在销售报告中)和结束日期(以便在报告生命结束后丢失报告)。使用适当的日期作为报告和应用程序的标准,除了你应该的时候,你不会看到奇怪的东西,而且数据仍然存在(理论上它应该是无限的)。
正如Koistya Navin所提到的,将数据移动到某个点的数据仓库也是一种选择,但这在很大程度上取决于您的“旧”数据的大小,以及您需要多长时间保持数据的可用性访问。
答案 1 :(得分:1)
我们的许多客户将数据保持在线2年。之后它被转移到备份磁盘,但如果需要它可以在线。
考虑添加“过期”或“生效日期”列。这将允许您将产品标记为已过时,但如果满足时间范围,报告将返回该产品。
答案 2 :(得分:0)
通常最好将这些数据移入seporate数据库(数据库仓库)并保持工作数据库的清洁。在数据仓库中,您的数据可以保存多年而不会影响您的应用程序。
参考:维基百科的Data Warehouse
答案 3 :(得分:0)
我一直都在寻找执政的机构。例如,IRS希望您保留7年的历史记录,或出于安全考虑,我们会保留3年的日志信息等等。所以我猜您可以做两件事,确定数据的生命周期我会说3年会是足够然后你可以添加一个is_deleted标志和一个日期,这样你就可以标记一些数据,以便早日删除。
答案 4 :(得分:0)
是的,所有数据都有生命周期。是的,它与您拥有的数据类型有关。
有些数据的生命周期以秒为单位(例如,身份验证令牌),其他一些数据虚拟永久(超过存储的媒体和格式,例如所有权记录)。
您必须更加具体地了解您正在构想的数据类型,或者在您自己的组织中进行人口普查,了解通常的生活时间。
答案 5 :(得分:0)
我们的特殊风味各不相同。我们有一些数据(绝大多数)在3个月后变硬(硬产品限制),但可以在以后恢复。
我们有其他数据实际上是不朽的。
在实践中,我们提供的大多数数据都是新鲜的,经常需要几个星期,最多一个月,然后才能零星使用。
答案 6 :(得分:0)
“大量死资料”多少钱?
由于处理能力和数据存储如此便宜,除非有充分理由,否则我不会清除旧数据。您还需要考虑法律影响。大型(甚至是小型)公司可能会对旧数据拥有令人难以置信的长期保留政策,以便在法官传唤数据时为自己节省数百万美元。
我会检查你所拥有的任何法律部门,并找出需要存储多长时间的数据。这是最安全的赌注。
另外,问问自己删除旧数据的好处是什么。唯一的好处是更整洁的数据库吗?如果是这样,我不会这样做。您是否会看到10倍的性能提升?如果是这样,我会这样做。这确实是一个复杂的问题,而且我们很难掌握所需的所有信息,以便为您提供良好的建议。
答案 7 :(得分:0)
我有一些项目,客户想要所有的历史数据(可追溯到19年前)。相当一部分真正旧的数据格式不正确,并且将成为导入新系统的噩梦。我们让他们确信他们不会需要超过10年的记录,但就像你说的那样,这些都与你所拥有的数据类型有关。
另一方面,数据存储现在非常便宜,如果它不影响应用程序的性能,我会把它留在原地。
答案 8 :(得分:0)
[...]但当然所有数据都有某种生命周期?
我们无法谈论任何有意义的生活。一旦创建或记录,许多数据就毫无用处。这些数据可以立即丢弃而不起作用。另一方面,一些数据具有足够的价值,它将比主持它的当前系统更长。如果亚马逊要完全取代现有的基础设施,他们存储的客户历史仍然非常有价值。
正如你所说,这是相对的。每种类型的数据都有自己的生命周期,与其他类型的数据的生命周期无关。没有意义的“平均数据寿命”。
答案 9 :(得分:0)
我有可能存放大量死信息。 (从未再次访问的数据)。
但他们会在执行这些报告时访问这些数据。
在此之前,您需要以某种形式保存数据。移动到另一张桌子或有一个像你提到的那样的开关。
答案 10 :(得分:0)