59

在过去的几年里,我一直很感兴趣地关注CouchDB项目,发现它现在是一个 Apache Incubator 项目。在此之前,CouchDB 网站上充斥着不要用于生产代码类型的免责声明,所以我只关注它。如果您将 CouchDB 用于实时项目或技术试点,我很想知道您的经验。

4

7 回答 7

41

经过 18 个月的原型设计、测试和等待 CouchDb 准备就绪后,我们于 2008 年 12 月将一个内部应用程序转移到了 CouchDB。到目前为止,我对这一举动非常满意。它为我们摆脱了许多文件系统对象(PDF 和 JPEG,现在作为附件存储在 CouchDB 中)。这使我们能够摆脱 NFS 并更轻松地集群/复制我们的前端网络服务器。

CouchDB 为您准备的程度在很大程度上取决于您组织的文化。我们有一个内部开发团队维护几个内部 Erlang 应用程序。由于 CouchDB 是用 Erlang 编写的,并且代码库的质量相当不错,我们相信如果需要,我们可以修复 CouchDB 中的显示停止问题——或者至少让我们的数据恢复。我们还聘请了一名 CouchDB 核心团队作为顾问——以防万一。

但是 CouchDB 肯定还不是 1.0。Web 工作进程总是会崩溃(如果您滥用它们)。复制对我们来说会中断,我们不会收到有关它的错误消息。文档仍然非常缺乏。尽管如此,我仍然相信它不会吃掉我们的数据,并且发展会以合理的速度向前发展。

让您了解我们的应用程序:目前我们最大的数据库大约有 512000 条记录,占用 7.5 GB 的磁盘空间。

于 2009-01-04T14:13:43.323 回答
22

我使用 CouchDB 来支持 Facebook 应用程序(每月活跃用户超过 35k)。有一段时间它使用 MySQL,但在将整个项目从 Perl 移植到 Erlang 之后,我决定全力以赴,将所有数据迁移到 CouchDB 并改用它。

CouchDB 一直是一个很好的数据存储。我认为它有望成为基于网络的服务的主要参与者。

于 2008-09-23T17:25:16.867 回答
18

不久前(比如 6 个月)我认识了其中一个人(Jan),从那时起我就一直在玩它。我发现 CouchDB 周围的社区知识渊博且乐于助人,因此每当我遇到问题时,至少在几分钟或几小时内就能解决。

前一周我们刚刚启动了一个项目,该项目基本上要求我们以非关系方式存储数据,并且由于 CouchDB 的面向文档的存储,我们选择它作为要使用的技术之一。所以这实际上是我第一次在生产中运行它,但我仍然对它很有信心。:)

这里只是一个更新(2009-10-25):

我们的第一个 CouchDB 安装是 20 GB,它承载了 4000 万条记录。它自 2009 年 1 月以来一直在生产中运行,而且非常棒。读取 ( GET) 速度非常出色,我们将其用作复杂数据的存储,然后它只是拉取。

我们的第二部分 couchdb 有两个数据库,一个是 160,000,000+ 个文档 (210 GB),并且每天在 150,000-300,000 个文档之间增长。另一个只有35,000,000 个文档 (7 GB)。此设置有更多的读取和写入,并且初始测试执行得非常好。

在 160,000,000 个文档数据库上构建视图大约需要一周时间,但从那以后我们升级到更大的 Amazon EC2 实例,并且我们还准备更新到 CouchDB 0.10.x(来自0.9.1),因为此版本在视图构建方面包含大量性能改进。

于 2008-08-26T22:04:25.240 回答
6

我在一些场景中使用 couchdb,作为http://devk.it(正在开发中)的文档存储,并在更大范围内作为分布式电子邮件传递系统的模板存储。

CouchDB 的功能非常出色,但我无法让它以我预期的高并发级别运行。另请注意,由于 mochiweb 中硬编码的最大输入缓冲区大小,最大文档大小相当有限,为 1MB。但是,您可以更改头文件并重新编译以绕过此限制。

于 2008-09-22T23:48:34.007 回答
5

我正在使用 CouchDB 在我的博客上存储(和提供)文章评级。这不是完全繁忙的交通,但到目前为止它一直坚如磐石。

还计划在某个时候添加评论,我很可能也会将其存储在 CouchDB 中。

我发现它很容易上手,在 OSX 上,您只需下载CouchDBX即可快速上手。我使用带有RestClient的Sinatra后端通过直接的 HTTP 动词等与“沙发”进行交互。

非常有趣。

于 2009-02-10T19:26:39.257 回答
3

目前我正在与 CouchDB 合作完成计算机科学论文。我在我的博客http://metalelf0dev.blogspot.com上写下我的进展和意见。我认为该项目做得很好,但现有文档没有按应有的方式组织。关于 Futon Web 界面的快速教程可能对初学者非常有用,恕我直言:)

于 2008-09-24T13:45:34.953 回答
1

我在生产中使用了 couchdb 两次。首先是 wiki likes 项目,我认为 couchdb 是该角色的完美人选。保存所有文档的版本有很大帮助。第二个项目加载了相当多的查询,想法是先转储社交数据,然后使用各种过滤器进行查询。看起来标准的 CouchDB 查询功能看起来有点纯粹满足我们的需求。但是我们像全文索引器一样添加 Lucene,然后在 Lucene 部分执行许多查询。这个解决方案看起来已经足够好了。

于 2013-01-17T13:53:54.567 回答