CouchDB文档是否有DAG?
我在看CouchDB。文档有版本,您可以有冲突的版本。它是否像dvcs一样将版本序列存储为有向无环图(DAG)?如果没有,它是如何实现的?您不能依赖CouchDB中文档的版本,它们的保存只是为了在复制过程中解决冲突。文档的早期版本将在更新过程中删除CouchDB文档是否有DAG?,couchdb,directed-acyclic-graphs,Couchdb,Directed Acyclic Graphs,我在看CouchDB。文档有版本,您可以有冲突的版本。它是否像dvcs一样将版本序列存储为有向无环图(DAG)?如果没有,它是如何实现的?您不能依赖CouchDB中文档的版本,它们的保存只是为了在复制过程中解决冲突。文档的早期版本将在更新过程中删除 CouchDB wiki对此进行了分析。是的,修订顺序类似于有向无环图。我在中讨论了这一点(在概念层面) 我想说CouchDB在教学上就像Git一样。然而,两者之间存在显著差异。举几个例子: CouchDB不存储旧数据,只存储旧版本ID Couch
CouchDB wiki对此进行了分析。是的,修订顺序类似于有向无环图。我在中讨论了这一点(在概念层面) 我想说CouchDB在教学上就像Git一样。然而,两者之间存在显著差异。举几个例子:
- CouchDB不存储旧数据,只存储旧版本ID
- CouchDB最终将截断很长的修订历史记录以保持性能
函数可防止任意修改。它甚至可以要求将变更元数据存储为文档的一部分。(但这是一个应用程序级解决方案。)validate\u doc\u update()
- 大类应用程序的大类数据可以双向合并:例如,选择最新的时间戳;将不同的电话号码合并成一组电话号码;等等
显然,这些是高度特定于应用程序的,不是通用的解决方案。Hmm-我之所以有兴趣获得DAG,是因为我希望找到冲突修正的lca,以便可以进行三方合并。但是如果我不能依赖生命周期评估,那么我就不能使用它。