【问题标题】:What is the best way to optimize a massive CouchDB database?优化大型 CouchDB 数据库的最佳方法是什么?
【发布时间】:2018-07-06 03:54:35
【问题描述】:

我有一个在 AWS 上运行的 CouchDB 实例(CentOS 上的 m4.large EC2),它的大小超过 75GB,并且还在不断增长。我在这个数据库上修改和索引视图时遇到了问题,现在需要将近 2 天。

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

  1. 可以在 map-reduce 视图更改后重新建立索引 高效的
  2. 从 map-reduce 视图中获取可以更快地完成(使用 一个自定义的 reduce 函数)

我已阅读 CouchDB guide 上的建议,但它们更多地针对优化插入。

【问题讨论】:

  • 你最终能成功管理这种规模的couchdb吗?

标签: nosql couchdb


【解决方案1】:

由于您拥有如此大的数据库,因此在更改视图时重新索引视图确实需要时间,它不会像您拥有较小的数据库时那样接近即时。既然我已经说过了,这是#1的解决方案。

每当更新设计文档时,它都会重新索引该文档中的所有视图,因此将每个视图放在自己的设计文档中可能会增加一些重新索引速度。由于您确实有一个庞大的数据库,因此仍然需要时间来遍历每个文档并重新索引它们,只是现在它将执行一个视图而不是所有视图。

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

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

我不知道如何解决#2,抱歉。

【讨论】:

  • 非常感谢您的回复,我已经看过这些文档,但我会按照您的建议重新阅读。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-07-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-09-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多