我开始尝试使用CouchDB,因为它看起来像是我们遇到的某些问题的完美解决方案。鉴于所有工作都将在一个没有遗留依赖关系的全新项目上,您建议使用哪个客户端库,以及为什么?
如果我们使用的操作系统有任何重叠,这将更容易。 FreeBSD在其ports集合中只有py-simplecouchdb已经可用,但该库的项目网站说使用CouchDBKit代替。这些都没有Ubuntu,它只与CouchDB一起发布。由于这两个操作系统没有共同的库,我可能会从源代码安装一些东西(如果我有时间的话,希望将软件包提交给Ubuntu和FreeBSD人员。)
对于那些感兴趣的人,我想使用CouchDB作为在各种服务之间传递的数据的便利中间存储位置 - 考虑消息总线系统但不太正式。例如,我们有守护进程下载和解析网页,然后将有趣的位发送到其他守护进程以进行进一步处理。很多这些对象在运行时都是不明确的(“这里有一些HTML,加上一组元数据,还有一些要在其上运行的动作”)。而不是将其序列化为ad-hoc本地网络协议或将其粘贴在PostgreSQL中,我宁愿使用为此目的而设计的东西。我们目前在此角色中使用NetWorkSpaces,但它几乎没有广泛的支持或CouchDB的用户社区。 p>
答案 0 :(得分:5)
我一直在使用couchdb-python取得了相当大的成功,据我所知,desktopcouch的人在ubuntu中使用它。先决条件是非常基本的,你应该没有问题:
对我来说,一些优点是:
它还提供了几个命令行工具:
答案 1 :(得分:2)
如果你还在考虑CouchDB,那么我会推荐Couchdbkit(http://www.couchdbkit.org)。它非常简单,可以快速获得挂机并在运行Karmic Koala的机器上正常运行。在此之前,我已经尝试过couchdb-python,但是有些错误(可能现在已经解决了),httplib给了我一些错误(重复的文件......等),但是Couchdbkit让我起步并走到目前为止没有任何问题。
答案 2 :(得分:1)
CouchDB的简单Python API
用于轻松管理CouchDB的Python库。
与网上常见的库相比,使用最新版本CouchDB - 1.2.1
在服务器上创建一个新数据库
从服务器删除数据库
列出服务器上的数据库
数据库信息
数据库压缩
创建地图视图
地图视图
在DB
中列出文档从DB获取文档
将文档保存到DB
从DB中删除文档
编辑文件
spycouch on>> https://github.com/cernyjan/repository
答案 3 :(得分:0)
考虑到您尝试解决的任务(分布式任务处理),您应该考虑使用为消息传递而设计的众多工具之一,而不是使用数据库。例如,请参阅this SO question on running multiple tasks over many machines。
如果您真的想要一个简单的随意消息传递系统,我建议您将注意力转移到MorbidQ。当您变得更加严肃时,请使用RabbitMQ或ActiveMQ。这样,您可以减少系统中的延迟,并避免让许多客户端轮询数据库(从而锤击该计算机)。
我发现avoiding databases is a good idea(那是我的博客) - 我这里有一个end-to-end live data system running using MorbidQ
答案 4 :(得分:0)
我编写了一个基于python-requests构建的couchdb客户端库(在大多数发行版中)。我们在生产中使用这个库。
https://github.com/adamlofts/couchdb-requests
使用python-requests的强大CouchDB Python接口。
目标:
答案 5 :(得分:0)
浏览了许多couchdb python库的文档后,我选择 pycouchdb 。
所有我需要知道的都是从文档中快速掌握:https://py-couchdb.readthedocs.org/en/latest/它就像一个魅力。
此外,它适用于Python 3。