2009-12-23 60 views
3

我正在考虑实现一个CouchDB服务器来提供我们为内部业务操作而存储的一些元数据的临时搜索。Couch DB扩展和性能

我们在内部流程中存储了大量“属性”,如大小,来源,提交日期和“职位”的URL。

这对我们的关系数据库来说非常好,但我们的用户希望通过提供类似于搜索的“搜索条件”来建立类似的工作列表。因此,用户可以说“向我展示所有大于XXX并且在YYY之后提交的作业”并获取描述和URL列表。

这听起来非常适合沙发,从我研究过的东西看起来它会很好用。

我的问题是如何适当的硬件扩展?我们有1.5亿到2亿个这样的文档,每个文档有11到30个属性。元数据最多只有几千字节。我最初看着有一个四核服务器(VM)为测试服务,但我需要它扩展到同时支持100到250个用户。我知道我可以用大多数数据库服务器做到这一点,但我正在寻找一些能够提供临时查询方面的东西(通过REST或HTTP很好,我们有我们自己的搜索工具)。

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

+0

事后很长一段时间,但好奇你的部署如何最终结束? – 2011-09-18 05:00:23

回答

4

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

你是否认为你将不得不动态地生成新的地图函数,导致它有点像它?

每当你添加一个新的视图映射函数,你将会在初始视图生成中遇到一个很大的瓶颈。

如果您使用erlang视图,它们会生成比javascript视图更快的视图,因为它们不会执行JSON序列化步骤,这可显着加快视图生成性能。

一旦生成视图,即使您正在谈论的大小也会很快。

+0

太棒了。谢谢,这正是我希望听到的。 – GrayWizardx 2009-12-24 04:56:05