优化大型CouchDB数据库的最佳方法是什么?

时间:2018-07-05 09:11:56

标签: nosql couchdb

我有一个在AWS上运行的CouchDB实例(在CentOS上为m4.large EC2),其大小超过75GB,并且一直在增长。在此数据库上修改和建立索引视图时遇到了问题,该过程现在将近2天。

我可以使用哪些优化策略来确保:

  1. 在更改地图缩小视图后可以重新索引
  2. 从map-reduce视图中获取数据可以更快地完成(通过 自定义归约功能)

我已经阅读了CouchDB guide上的建议,但它们的目标更多是优化插入内容。

1 个答案:

答案 0 :(得分:1)

由于您的数据库如此之大,因此更改视图确实需要花费一些时间来重新索引视图,因此它不会像拥有较小的数据库时那样立即生效。现在,我已经说了,这是#1的解决方案。

每当更新设计文档时,它都会重新索引该文档中的所有视图,因此将每个视图包含在自己的设计文档中可能会提高重新索引的速度。由于您确实有一个庞大的数据库,因此浏览每个文档并为它们重新编制索引仍将花费一些时间,而现在它只执行一个视图而不是所有视图。

编辑:链接 CouchDB Views Intro->这是CouchDB视图文档的概述。我已多次阅读并重新阅读此页面,每次都总是找到新的东西。我建议阅读几次以确保。

CouchDB One vs Multiple Design Documents->相同页面,但是它将带您到上面有关我的答案的部分。请通读它,希望对您有所帮助。

抱歉,我不知道该如何处理#2。