示例描述
文档版本控制模式在高度规范化的行业中非常有用,这些行业会要求数据的特定时间点版本。
假设现在有一个博客系统,其中有一个记录每次编辑博客文章历史的功能,这样的功能就能应用文档版本控制模式。
假设我们将所有的文章历史都存储在同一个集合当中,则需要考虑大部分与文章相关的功能都要过滤掉历史版本、版本越多则集合文档数量越多等等问题。
文档版本控制模式的想法是:文档中需要记录一个文档的版本,将最新的文档保存在一个 current 集合中,而那些旧版本的文档保存在 history 集合中。
为了最大化利用文档版本控制模式的优势,通常会假设数据访问模式尽量符合以下要求:
每个文档不会有太多的修订版本
需要做版本控制的文档不会太多
大多数的查询都是基于文档的最新版本
优缺点
文档版本控制模式的优点如下:
容易实现,对现有系统的影响小
在最新版本上进行请求时,没有性能上的影响
文档版本控制模式的缺点如下:
写操作的数量会翻倍
请求需要被定位到正确的集合
0条评论
点击登录参与评论