谷歌应用引擎的数据库建模,用于实体的多次修订

4
在我的应用程序(一种维基百科克隆)中,文章经常更改。
我需要跟踪对该文章所做的所有更改。{仅限文本。}
我已经采用了一种简单粗暴的方法,即添加一个日期时间属性,并在每次更改时创建一个新实体。这太浪费数据库了。{还有不必要的索引浪费。}并且还需要重新创建父子和实体关系。
我也有日志可以显示更改--但我希望有更简单的方式,以便从一个版本跳转到另一个版本更容易。
有什么想法吗?
谢谢。
1个回答

1

你可以将维基中的位置与内容分开,并从那里链接到页面的版本。将版本保留在一个链接列表中,如果需要双向导航,则为双向链接,循环链接等。

父子关系、索引等仅涉及位置和链接到该位置的文章。返回到以前的更改只是更改位置中的链接(并将更改推送到索引机器)。修剪是基本的列表操作,即将下一个字段指向更远的版本并删除中间的版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接