CouchDB Erlang 视图

5

昨天我发了一篇关于一个相当缓慢的couchdb设计文档/视图的帖子,链接在这里: CouchDB delay building index (CouchDB 1.5.0 on Windows Server 2008 R2) ,我正在尝试调查是否可以通过重写Erlang中的缓慢视图来获得显着的性能提升。

作为一个完全的Erlang新手,我发现特定的erlang/couch教程很少。我能找到的最新的查询已经过时且极其简短:Erlang Views in Couch DBTranslate CouchDB javascript views to erlang。它们参考的是0.10.0版本。

我真的很惊讶似乎没有更多更新的文档或教程。如果您正在使用Erlang视图,请问您用什么资源来自学?如果我错过了任何关于Erlang和视图的好资源,请指出给我。

最后我在尝试弄清楚是否还需要安装其他东西来运行这些,比如erlang本身。

我正在Windows上运行couchdb 1.5,但在Ubuntu上进行原型设计,因此需要考虑两个系统。

1个回答

5

这篇文章是我在couchdb本地视图方面找到的最好的讨论。它们仍然是couchdb的一个隐藏功能,使用它的人不多。

总结一下链接中的讨论:

Erlang视图比JavaScript视图显著快。但是由于它们是本地运行的,而不像JavaScript视图那样被沙盒化,可能会存在安全问题。

没有很多教程,因为关于它们并没有太多需要学习的内容。它们只是普通的couchdb视图翻译成erlang语言。如果你提供了你的视图示例,也许我们可以帮助你将其翻译成erlang,但如果你想自己编写视图,就必须学习这种语言的基础知识。

我正在尝试弄清楚是否还需要安装其他东西来运行这些视图,例如erlang本身。

不需要。你所需要的一切都由couchdb本身提供。


提供视图的示例可能会有些困难。这是一个完整的库,其中包含访问20多种不同文件格式和超过1000行代码的逻辑。我们在外部环境中仔细进行单元和回归测试,然后将其放置在使用它的设计文档的“空”视图中。 - Hans
你可能已经看过了,但是在couchdb手册中有一个erlang视图服务器的入门示例,可以帮助你入门。 - Akshat Jiwan Sharma
我认为我能提出的最好建议是,您在本地创建一个测试erlang视图并测量其性能。与JavaScript视图相比,它肯定会更快,但一旦构建完成,我不知道您可以获得多少性能优势。除了重新构建视图外,您是否尝试过我在我的答案中提供链接中Jason提到的PPP技术?这对您的情况是否有效? - Akshat Jiwan Sharma

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接