Database 对数据库模型的版本控制/记录更改

Database 对数据库模型的版本控制/记录更改,database,algorithm,Database,Algorithm,假设您有两个模型:Books和Collections。收藏有一本或多本书籍s。现在您有了一个API,您可以在其中转到/collections/1,以获取收藏1中的所有书籍 但是收藏会随着时间的推移而改变!书籍将被添加或删除。所以现在我想要一个新的资源,collection\u changes/:id。我给它一个时间戳,它会返回一个列表,列出从那时起从收藏中添加或删除的所有书籍 有没有一种快速、高效的方法可以做到这一点?只需保留一个对每个集合所做更改的排序(按时间戳)列表(更改将在末尾添加,而不会

假设您有两个模型:
Book
s和
Collection
s。
收藏
有一本或多本
书籍
s。现在您有了一个API,您可以在其中转到
/collections/1
,以获取收藏1中的所有书籍

但是收藏会随着时间的推移而改变!书籍将被添加或删除。所以现在我想要一个新的资源,
collection\u changes/:id
。我给它一个时间戳,它会返回一个列表,列出从那时起从收藏中添加或删除的所有书籍


有没有一种快速、高效的方法可以做到这一点?

只需保留一个对每个集合所做更改的排序(按时间戳)列表(更改将在末尾添加,而不会删除,因此这是有效的)。然后,您可以通过二进制搜索在对数时间内找到给定的时间戳,只需返回时间戳后面的列表部分。

@KevinVaughan,因为他提到了时间戳。Durr,slow brain午后。删除澄清问题。