[英]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.