术语读取修复在应用于数据库时是什么意思?

eyb*_*erg 3 database repair

我最近一直在评估大型键值存储,我不断遇到术语“读取修复”,但不知道他们在说什么。我认为这与交易有关,但我不确定。

有人可以解释一下它是什么以及它与传统数据库的工作方式有何不同?也许提供一些伪代码来帮助解释?

小智 5

为了提高可扩展性,许多可扩展的键值存储允许您仅写入一条数据的大部分副本。(因此,如果您有 5 个副本,则只需写入其中的 3 个)。阅读时,请确保从大多数副本中读取。这样你就可以保证至少读取一个具有最新值的副本。

读取修复意味着当您检测到某些副本具有较旧的值时,您会使用较新的值更新它们,以减少系统中过时值的数量。这是一个“反熵”过程的例子。