2010-06-21 78 views
0

我正在寻找一个应该是关系数据库的数据库系统。但是一个主要特征是它忘记了条目以适应某个特定条件,比如在特定大小的数据库上“最近最少使用”。换句话说,我想要一种DB中的'弱引用'。关系数据库与类似缓存的丢弃行为

有没有这样的解决方案?

你对这个想法有什么看法:有一个通常的RDBMS,为每个条目设置一个时间戳,并对某些约束(如DB大小)进行定期检查。如果需要,最旧条目的X将被删除,并且引用条目将从现在开始指向一个特殊的sentinel节点,以表示'该条目已消失'。

回答

0

听起来好像你正在谈论关于在RDBMS中存档数据。我通过ETL程序在RDBMS系统中实现了这一点。

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

这方面的一些想法:

  1. 确保你没有被归档的数据违反任何商业模式。
  2. 确定符合您标准的非活动商业交易。您可能会遇到几个类别,每个类别都有其不同类型的归档规则。不要存档任何公开交易 - 他们是PITA重建。
  3. 图进行数据存档
  4. 确保用户应用程序透明性,无论数据位置/存档
  5. 的实施
  6. 通常归档数据都会针对每个数据集的该数据保留策略单独的DB的时间表可能在同一台机器上运行(推荐用于许可成本purpuses)或另一台机器。
  7. 即使档案本身可以通过将真正的旧数据放入文本转储来优化。
  8. 备份,备份,备份 - 这是一个非常敏感的操作。 Double,Triple检查备份。

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