最近我发现自己处于数据库纠结中,管理层希望能够从数据库中删除数据,但仍希望数据出现在其他地方.示例:他们希望删除产品whizbang的所有实例,但他们仍希望whizbang出现在销售报告中.(如果他们在前一个日期跑了一个).
现在我可以添加一个字段,比如is_deleted,它将跟踪该产品是否已被删除,从而仍保留我的所有引用,但在一段时间内,我有可能容纳大量死数据.(从未再次访问的数据).如何处理这不是我的问题.
我很想知道,根据您的经验,数据的平均寿命是多少?也就是说,平均数据在被替换或删除之前有多长时间存活或有效?我知道这与您所处的数据类型有关,但当然所有数据都有某种生命周期?
数据永远存在......或者经常应该存在.一种常见做法是记录结束和/或开始日期.因此,对于您的whizbang,您有一个开始日期(以便它在正式发布之前不会出现在销售报告中)和结束日期(以便在报告生命结束后它从报告中删除).使用适当的日期作为报告和应用程序的标准,除了你应该的时候,你不会看到什么,并且数据仍然存在(理论上它应该是无限的).
正如Koistya Navin所提到的那样,在某一点上将数据移动到数据仓库也是一种选择,但这在很大程度上取决于"旧"数据的大小,以及您需要多长时间才能保持其可供访问.