0

我正在寻找一个应该是关系数据库的数据库系统。但是一个主要特征必须是它会忘记符合特定条件的条目,例如在特定大小的数据库上“最近最少使用”。换句话说,我想要数据库中的一种“弱引用”。

是否已经有这样的解决方案?

您如何看待这个想法:拥有一个常用的 RDBMS,为每个条目设置一个时间戳,并定期检查某些约束(如 DB 大小)。如果需要,将删除 X 最旧的条目,并且从现在开始引用条目将指向一个特殊的哨兵节点,以表示“该条目已消失”。

4

1 回答 1

0

听起来您正在谈论在 RDBMS 中归档数据。我已经通过 ETL 程序在 RDBMS 系统中实现了这一点。

如果您打算删除数据,您将需要一个单独的表,您将使用它进行 UNION,以便您可以在您的应用程序中指示记录已存档。

对此的一些想法:

  1. 确保您不会通过归档数据来破坏任何业务模型。
  2. 识别符合您的标准的非活动业务交易。您可能会遇到几个类别,每个类别都有不同类型的归档规则。不要归档任何打开的交易——它们是 PITA 来重建的。
  3. 确定归档数据的时间表
  4. 无论数据位置/存档如何,确保用户的应用程序透明度
  5. 实施针对每组数据量身定制的数据保留策略
  6. 通常存档的数据会进入一个单独的数据库,该数据库可以在同一台机器上运行(推荐用于许可成本目的)或不同的机器上。
  7. 甚至存档本身也可以通过将非常旧的数据放入文本转储中进行优化。
  8. 备份、备份、备份 - 这是一个非常敏感的操作。双重,三重检查您的备份。

所有这些都可以通过市场上几乎所有的 ETL 程序来完成。

于 2010-06-21T16:07:08.273 回答