繁体   English   中英

数据模型版本控制和关系管理

[英]Data model versioning and relationship management

问题

我正在开发一个应用程序,其中的数据模型将与JSFiddle的非常相似。 用户将创建一个新条目,该条目将在数据库中分配一个GUID。 我的问题是,当其他用户想要修改/分叉/版本化原始条目时,该如何处理。 JSFiddle通过对条目进行版本控制来处理此问题(因此URL变为类似jsfiddle.net/GUID/1的东西)。

与将新的GUID分配给修改后的版本并仅在数据库中记录与原始条目的关系相比,JSFiddle的方法有什么好处?

似乎无论如何,我都必须在数据库中创建一个新条目,该条目实质上是原始条目的修改后的副本。

同样,将有注册用户和匿名用户一样的JSFiddle。 注册用户应该能够登录并查看所有自己的条目,以及可能存在于自己条目之外的版本/分支(尽管目前这不是必需的)。

我想念什么吗? 有正确和错误的方法吗?

科技

使用parse.com的RESTful API进行数据CRUD; 服务器上的节点。

与将新的GUID分配给修改后的版本并仅在数据库中记录与原始条目的关系相比,JSFiddle的方法有什么好处?

我可以想象没有一个,都需要相同的复制操作和相同的双查询(在MongoDB中)来获取父级。

唯一的区别是您经过的领域。

我想念什么吗?

我看不到。

有正确和错误的方法吗?

坦率地说,您似乎已经对此进行了很好的介绍。

MVCC在某些方面似乎确实是正确的方法,但是您不必全力以赴。 如果您在,可能会导致您更改为内置数据库的数据库,如CouchDB或其他东西,因为MongoDB的实现将在其当前现有的锁机制之上,就像在锁上添加锁一样。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM