Database 在最终一致的数据库中查找更新条目的策略

Database 在最终一致的数据库中查找更新条目的策略,database,updates,detect,eventual-consistency,Database,Updates,Detect,Eventual Consistency,如果我在一个最终一致的数据库中存储了一堆条目,那么对于如何可靠地查找修改过的条目,有什么标准策略吗?当然,它们只会“最终”被找到,这是可以的,但我想避免它们永远不会被找到的可能情况 这似乎是一个非常普遍的问题,因此我希望有一些标准的处理方法。但不幸的是,我很难找到任何有用的东西 我一直在考虑的方法是用某种单调递增的版本号(例如时间戳)标记所有条目,然后查询数据库中所有版本号大于我迄今为止看到的最高版本号的条目。这样做的问题是,条目可能会按顺序提交(从而在查询中返回)。因此,如果稍后的更新在给定查

如果我在一个最终一致的数据库中存储了一堆条目,那么对于如何可靠地查找修改过的条目,有什么标准策略吗?当然,它们只会“最终”被找到,这是可以的,但我想避免它们永远不会被找到的可能情况

这似乎是一个非常普遍的问题,因此我希望有一些标准的处理方法。但不幸的是,我很难找到任何有用的东西

我一直在考虑的方法是用某种单调递增的版本号(例如时间戳)标记所有条目,然后查询数据库中所有版本号大于我迄今为止看到的最高版本号的条目。这样做的问题是,条目可能会按顺序提交(从而在查询中返回)。因此,如果稍后的更新在给定查询中“成功”,而之前的查询没有,我不能在下一个查询中仅使用较后的版本号作为我迄今为止看到的最高版本号,否则我将永远找不到较早的更新

如果可以保证版本号总是不断增加,没有跳过的版本(这在我的情况下很难实现,但可能是可行的),我可以简单地保留一个更改日志,每个更改都有一个条目,然后查询“给我除了x、y、z以外的所有版本,…”。但是这个变更日志和相关的查询可能会非常庞大(取决于相对于我可以假设一致性的时间尺度,变更发生的速度),所以我认为这不是一个好的选择


有什么想法吗?

如果你提供一些具体的内容示例(ala),我想你的问题会更容易回答。