2009-07-29 81 views
1

我最近编写了一个使用couchdb的网络应用程序。我喜欢couchdb,它适合应用程序 - 它具有很多动态行为,并直接从couchdb中直接取得JSON。能够通过浏览器上传图片很不错,并且可以轻松修改文档数据。由于应用程序是couchapp,复制也使部署变得轻而易举,部署所需的全部是复制到生产服务器。哪些无模式数据存储提供良好的性能?

然而,对于一个新的应用程序,我想(我认为博客类型thingy),我想要良好的性能,这是我认为couchdb不强的一个领域。该应用程序将主要阅读导向(我估计90 %读取到10%写入)。

哪些数据存储提供一个单服务器方案的最佳效果?我会很有兴趣听到人们在这方面的经验......

+0

我不知道是什么的map/reduce与你的问题做。 mapreduce是一个用于在大型数据集上并行运行多个作业的框架。 (http://en.wikipedia.org/wiki/MapReduce) – 2009-07-29 21:08:22

+0

其实我觉得你可能会想的是无模式的数据存储 – 2009-07-29 21:09:00

回答

2

如果它主要是读取性能,你担心,为什么不干脆把varnish代理CouchDB中的前面?我在varnish中使用了一些自定义配置,告诉它尽管couchdb指定了must-validate,但实际上并没有为couchdb查询缓存对象,然后在_changes上使用一个带有活动HTTP GET的脚本,该脚本使用来自_changes的数据来显式清除已更改来自清漆的条目。

作为加清漆让你做URL重写,这是我需要的。其他大多数解决方案都涉及运行诸如apache或ngnix之类的东西,只是为了重写couchdb的URL。

3

我认为MongoDB开始看起来像无头数据存储的领跑者表现明智。

目前,我们正处在评估这个存储范围可以从10KB到50MB的二进制对象的过程中,我一直非常深刻的印象,它甚至在适度的硬件性能。

相关问题