有人使用CouchDB吗?

时间:2008-08-26 19:55:30

标签: database couchdb

我在过去几年里对CouchDB项目感兴趣,并且看到它现在是一个Apache Incubator项目。在此之前,CouchDB网站上充满了不用于生产代码类型的免责声明,所以我做的只不过是关注它。如果您一直在使用CouchDB进行实时项目或技术试用,我有兴趣了解您的经验。

7 个答案:

答案 0 :(得分:41)

经过18个月的原型测试,等待CouchDb做好准备,我们于2008年12月将moved an internal application交给了CouchDB。到目前为止,我对这一举动感到非常满意。它为我们摆脱了很多文件系统对象(PDF和JPEG,现在存储为CouchDB中的附件)。这使我们能够摆脱NFS并更容易地集群/复制我们的前端Web服务器。

CouchDB为您做好准备的程度在很大程度上取决于您组织的文化。我们有一个内部开发团队,负责维护几个内部的Erlang应用程序。由于CouchDB是用Erlang编写的,而且代码库质量相当不错,我们有信心在需要时我们可以修复CouchDB中的show stopper问题 - 或者至少让我们的数据退出。我们还聘请了一名CouchDB核心团队担任顾问 - 以防万一。

但CouchDB肯定还不是1.0。 Web工作进程中始终存在崩溃(如果您滥用它们)。复制中断对我们而言,我们不会收到有关它的错误消息。文档仍然非常缺乏。我仍然相信它不会以合理的速度吃掉我们的数据和发展。

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

答案 1 :(得分:22)

我使用CouchDB为Facebook应用程序提供动力(每月活跃用户超过35k)。有一段时间它使用MySQL但是在将整个项目从Perl移植到Erlang之后,我决定寻找黄金并将所有数据迁移到CouchDB中并使用它。

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

答案 2 :(得分:18)

我知道其中一个人(Jan)刚刚开始工作(比如6个月),从那以后一直在玩它。我发现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)此版本在视图构建中包含了许多性能改进。

答案 3 :(得分:6)

我在几个场景中使用couchdb,作为http://devk.it(正在开发中)的文档存储,并且作为分布式电子邮件传送系统的模板存储,用于更大规模。

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

答案 4 :(得分:5)

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

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

我发现很容易上手,在OSX上你可以下载CouchDBX来快速入门。我使用Sinatra后端与RestClient通过直接的HTTP动词等与“沙发”进行交互。

很有趣。

答案 5 :(得分:3)

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

答案 6 :(得分:1)

我在生产中使用了两次couchdb。首先是wiki喜欢的项目,我认为couchdb是该角色的完美候选者。保存所有文档的版本有很大帮助。 第二个项目是完全查询加载,想法首先倾倒社交数据,然后用各种过滤器查询它。它看起来像标准的CouchDB查询功能看起来有点纯粹我们的需求。但是我们将Lucene添加为全文索引器,然后在Lucene部分执行许多查询。而且这个解决方案看起来不错。