python - 我应该为 CouchdB 使用哪个 Python 客户端库?

标签 python couchdb

我开始尝试使用 CouchDB,因为它看起来是解决我们遇到的某些问题的完美解决方案。鉴于所有工作都将在一个没有遗留依赖项的全新项目上进行,您建议我使用哪个客户端库,为什么?

如果我们使用的操作系统有任何重叠,这会更容易。 FreeBSD 只有 py-simplecouchdb已经在其 ports 集合中可用,但该库的项目网站说要使用 CouchDBKit反而。这些都没有附带 Ubuntu,它只附带 CouchDB .由于这两个操作系统没有共同的库,我可能会从源代码安装一些东西(如果我有时间,希望将包提交给 Ubuntu 和 FreeBSD 人员)。

对于那些感兴趣的人,我想将 CouchDB 用作在各种服务之间传递的数据的便捷中间存储位置 - 考虑一个消息总线系统,但不那么正式。例如,我们有守护程序下载和解析网页,然后将有趣的位发送给其他守护程序以进行进一步处理。很多这些对象在运行时之前都是不明确的(“这里有一些 HTML,加上一组元数据,以及一些要在其上运行的操作”)。与其将其序列化为临时本地网络协议(protocol)或将其粘贴在 PostgreSQL 中,我更愿意使用为此目的设计的东西。我们目前正在使用 NetWorkSpaces在这个角色中,但它几乎没有 CouchDB 的广泛支持或用户社区。

最佳答案

我一直在使用couchdb-python取得了很大的成功,据我所知,desktopcouch 的人在 ubuntu 中使用它。先决条件非常基本,您应该没有问题:

  • httplib2
  • simplejson 或 cjson
  • Python
  • CouchDB 0.9.x(早期或更高版本不太可能工作,因为界面仍在变化)

对我来说有一些优势:

  • Python 接口(interface)。您可以像使用字典一样使用数据库。
  • 设计文档的界面。
  • 一个允许在 Python 中编写 View 函数的 CouchDB View 服务器

它还提供了几个命令行工具:

  • couchdb-dump:写入 CouchDB 数据库的快照
  • couchdb-load:读取由 couchdb-dump 生成的 MIME 多部分文件,并将所有文档、附件和设计文档加载到 CouchDB 数据库中。
  • couchdb-replicate:可用作更新通知脚本,以在数据更改时触发数据库之间的复制。

关于python - 我应该为 CouchdB 使用哪个 Python 客户端库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1596440/

相关文章:

python - 为什么zip(*(range(1000),)* 1000000)这么快?

nosql - ouchdb-删除修订版

node.js - 如何在 Node 上使用pouchdb-authentication?

python - Django 迁移和 Heroku : ProgrammingError at/column does not exist

python - 如何在Python和OpenGL中使用glReadPixels?

Python-替换列表中的项目仅替换第一个实例,而不是所有实例

database - 不守规矩的磁盘使用,不会缩水

node.js - 如何使用 node-couchdb-api 使用全有或全无选项进行批量保存

mysql - couchdb 与 mysql 速度

python - 基于Python中的公共(public)匹配属性将对象列表合并为一致列表