2010-06-12 47 views
5

我在一些原型应用程序中使用了CouchDB,它非常出色,非常易于使用且非常快捷。我想知道是否有人在生产中使用它,并对其可靠性,操作管理的性能适用性等有任何看法?我正在考虑使用它来支持服务层,并且会利用其复制功能。CouchDB正在生产

任何意见/经验将是最受欢迎的。

回答

0

CouchDB在Ubuntu中发布,是Ubuntu One服务的基本组件。

8

我已经将CouchDB用于一些小型的内部应用程序 - 它非常稳定,我没有发生严重的投诉。除此之外,还有几个小麻烦 -

1)数据库可以是同步的,但不能是节点。也就是说,如果您有四台服务器和二十个数据库,则必须指定每台服务器,并指定每个数据库进行同步。轻微的抱怨,但我更喜欢少管理。

2)由于数据库只是追加数据库,所以一个活动大量的数据库真的很快就会变得非常大。压缩解决了这个问题,但并不是很快,特别是在大型(例如20千兆字节)的数据库上。为周末安排紧凑型解决方案解决了这个问题,但这样做对于高可用性应用程序来说可能不是一个选择。

3)Javascript是事实上的视图语言。没有广为宣传的是,由于CouchDB是用Erlang编写的,它还支持Erlang视图,因为它们是“本地”的,所以速度更快。对于在视图中进行大量操作的应用程序,Erlang可能更有意义。撇开这些小问题,我会全心全意地推荐它。

+0

我应该澄清一下,压缩数据库不会使其不可用,但它确实会对性能产生很大影响。事实上,如果写入发生得比紧凑,紧凑可能永远不会完成。请参阅:http://wiki.apache.org/couchdb/Compaction – lazyconfabulator 2010-06-13 03:50:27

+0

非常感谢您的建议。尤其是在erlang视图和同步上的ip ... – NoelAdy 2010-06-14 10:29:32