Couch DB缩放和性能

时间:2009-12-23 06:45:56

标签: couchdb nosql

我正在考虑实施一个CouchDB服务器来提供我们为内部业务操作存储的一些元数据的临时搜索。

我们在内部流程中为“作业”存储了许多“属性”,如大小,来源,提交日期和网址。

这在我们的关系数据库中表现良好,但我们的用户希望通过提供类似于谷歌搜索的“搜索条件”来构建类似作业的列表。因此,用户可以说“向我显示所有大于XXX的作业并在YYY之后提交”并返回描述和URL列表。

对于Couch来说这听起来很完美,而且根据我的研究,它看起来效果会很好。

我的问题是它如何通过适当的硬件扩展?我们有1.5亿到2亿个这样的文档,每个文档有11-30个属性。元数据最多只有几千字节。

我最初正在考虑使用四核服务器(VM)进行测试,但我需要它可以扩展到同时支持100-250个用户。

我知道我可以对大多数数据库服务器执行此操作,但我正在寻找能够提供临时查询方面的内容(通过REST或HTTP可以很好地使用我们自己的搜索工具)。

有没有人有过设置Couch并将其用于此级别的生产负载的经验?

1 个答案:

答案 0 :(得分:4)

并发连接不是问题,erlang和CouchDB是为并发性能而构建的。

你是否认为你必须动态生成新的地图功能,导致它听起来像这样?

无论何时添加新的视图映射功能,您都会在初始视图生成中遇到很大的瓶颈。

如果您使用erlang视图,它们生成的速度比javascript视图快得多,因为它们没有达到JSON序列化步骤,这可以显着加快视图生成性能。

一旦生成视图,即使你正在谈论它的大小,它也会非常快。