CouchDB:性能动态和静态内容



在我的CouchDB中,我维护了1000个文档,其中每个文档具有动态和静态内容。假设一些文档具有随机静态内容和动态内容如"上次访问日期"、"访问次数"等。每次读取的服务器端例程都会更改动态内容访问。静态内容在创建后永远不会更改。

我的问题是:

  1. 如果我将动态和静态内容存储在单独的文档中,读取内容的性能是否受到影响?

  2. 我对文档的静态内容有多种看法。是视图如果我更改动态内容是否已更新?

提前感谢,萨沙

是的,是的。

我的意思是:如果对象在上次调用视图后已更新,则下次调用视图时,map函数将应用于您更改的对象(reduce函数将应用于已失效的"reduce分支")。

在实际设置中测试解决方案。如果此更新对您的应用程序性能有问题,那么,是的,将更动态的内容保存在不同的文档中可能是个好主意。

但请注意,只有在两个视图调用之间有大量更新的文档的情况下,或者在单个文档的处理时间很长或发出许多键的情况下,才可能需要这样做。

Aurélien的回答是,如果您决定拆分"静态"和"动态"内容,您应该考虑通过为每个访问创建一个简单的日志文档来做到这一点,而不是为每个"静态"文档创建一个"动态"对应项。这将减少读取争用。然后,您可以使用reduce函数对要查看的数据进行分组,并且可以定期将特定"静态"文档的日志收集到单个日志条目中。

最新更新