RavenDb是一个文档型的数据库,和芒果Db是一个类型的东西,但是公司选择了它,主要是因为它对事务的支持比较好,芒果Db在事务方面有问题。
下面有一个例子。
在关系型数据库中,我们要展示以上的内容,至少需要访问四张表(Posts, Comments, Tags, RelatedPosts)
但是在RevenDb当中,我们只需要保存一个Document。
这样子我们就只需要查询一次数据库就可以展示这个界面了。
从上面这个例子,我们可以很好的看出它和关系型数据库的区别了,而且我们不要尝试用过去的关系型数据库的思维去看待它。
推荐的设计模式是the Domain Driven Design book里面推荐的the Aggregate pattern模式