Database 具有类缓存丢弃行为的关系数据库

Database 具有类缓存丢弃行为的关系数据库,database,caching,rdbms,weak-references,Database,Caching,Rdbms,Weak References,我正在寻找一个数据库系统,应该是一个关系数据库。但它的一个主要特性是,它会忘记符合特定条件的条目,比如在特定大小的数据库上使用“最近最少使用的”。换句话说,我想要一种DB中的“弱引用” 已经有这样的解决方案了吗 您如何看待这个想法:使用一个普通的RDBMS,为每个条目设置一个时间戳,并定期检查一些约束(如DB大小)。如果需要,将删除X个最旧的条目,并且从现在起引用条目将指向一个特殊的sentinel节点,以表示“该条目已消失”。听起来您正在谈论在RDBMS中归档数据。我已经通过ETL程序在RDB

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

已经有这样的解决方案了吗


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

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

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

对此有一些想法:

  • 确保归档数据不会破坏任何业务模型
  • 确定符合您的条件的非活动业务交易记录。您可能会遇到几个类别,每个类别都有不同类型的归档规则。不要归档任何打开的事务-它们是需要重建的PITA
  • 制定归档数据的时间表
  • 确保应用程序对用户的透明性,而不考虑数据位置/归档
  • 根据每组数据实施此数据保留策略
  • 通常,归档的数据会转到一个单独的数据库,该数据库可能运行在同一台机器上(出于许可证成本的考虑,建议使用该数据库)或另一台机器上
  • 甚至存档本身也可以通过将非常旧的数据放入文本转储来优化
  • 备份,备份,备份-这是一个非常敏感的操作。仔细检查你的备份
  • 所有这些都可以通过市场上几乎所有的ETL程序来完成