因为我了解,CouchDB索引更新时便进行查询。假定有更多的读取比写道,这不是坏的扩大?我将如何配置CouchDB更新索引写,或者更好的是,上一个时间表?

有帮助吗?

解决方案

CouchDB确实会在更新时重新生成视图,但仅限于自上次对视图的读访问权以来发生的更改。假设您的读取量大大超过了您的写入量,这应该不是问题。

当您一次更改大量文档时,这可能会导致第一次读取请求花费大量时间。为了缓解这种情况,已经提出了一些不同的可能性。大多数人依靠注册CouchDB的更新通知并自动触发读取。

在[1]的CouchDB wiki上可以获得完全相同的示例脚本。

[1] http://wiki.apache.org/couchdb/RegeneratingViewsOnUpdate

其他提示

a)“缩放”这是一个超载的术语。什么“善良”你指的是缩放比例? (无论哪种方式,我都看不出它对你产生的负面影响)。

b)写入更新:在写入后查询您的视图。请注意,向索引添加一堆数据更加资源友好(这不是特定于CouchDB)。因此,您可能希望每N次写入都会触发您的视图。

c)预定:设置一个每隔M分钟查询一次视图的cronjob。

d)等待CouchDB发展,为您提供允许您使用配置参数进行设置的基础架构。

e)(最佳选择)。亲自动手,帮助我们抛光CouchDB!任何贡献都受到高度赞赏。

d) RTFM( blink :)

你不能而且,为什么你会想要那样吗?

想想看这样的:

  • 当你进口数据进MySQL你可以打开的indizes因为它是更昂贵的更新索引的每一行插入,比它更新的指数为100写(或然而,许多行进口),在一个单一的运行。
  • 这就是为什么CouchDB更新该指数在阅读,因为它是不太昂贵的融100那些变化的同时,然后每次改变时,它的编写。

这是一个优点CouchDB!:)我不是说这是一个CouchDB只要素,但它只能做到这一上读取。

有一件事你能做的就是阅读更新=false,这是一个肮脏的读取以及可能不返回你所期望的。如果你总是这样做,你可以安排一个"经常"读通过一个定时任务和更新索引。我只是不认为它是有道理的。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top