最好的Cassandra库/ Python包装器?

时间:2012-05-03 11:27:45

标签: python cassandra pycassa

我找到了lazyboypycassa - 也许还有其他人。我见过许多推荐lazyboy的网站。恕我直言,该项目似乎已经死亡,请参阅https://www.ohloh.net/p/compare?project_0=pycassa&project_1=lazyboy

那么新项目的最佳选择是什么?感谢。

4 个答案:

答案 0 :(得分:29)

Cassandra项目一直在推荐新项目现在使用CQL的几个版本,随着Cassandra 1.1中CQL 3的出现,我绝对建议你去做。如果您之前使用过SQL,那么优点包括更熟悉的语法,以及不同语言CQL驱动程序之间的接口通用性。无论您是使用Java,Python,Ruby,Node.js还是其他任何东西,CQL都是CQL。驱动程序不需要支持完整的Cassandra客户端库,因此不需要维护,也不需要依赖客户端作者。

Python CQL驱动程序位于GitHub上:datastax/python-driver。 (以前的版本在Google Code上。)

有关CQL的信息,请参阅Datastax's quite through docs for CQL 2how to make effective data models with CQL 3上的帖子以及what's new in CQL 3上的帖子。

还有一个关于CQL 3的完整参考,正在等待批准进入官方的Cassandra回购;在它等待的时候,你应该能够阅读它here in pcmanus' github

尽管如此,如果你不想使用CQL,Pycassa确实得到了更好的维护,并且应该在很长一段时间内得到很好的支持。

答案 1 :(得分:4)

我会选择pycassa。我们已经使用了很长一段时间并且工作得很好。

答案 2 :(得分:0)

目前我也在使用pycassa,并将结果传递给colander,它将一些模型挂钩到pycassa获得的查询结果。

这类似于pycassa.columnfamilymap提供的内容,但我可以通过deform

使用相同的“模型”直接“模拟”类似ORM并生成/验证表单

然而,如果出现一些“真正的ORM”,通过CQL编写,我会切换到它,但目前这是我找到的解决方案。如果有人有更好的,我会非常感兴趣地考虑它。

答案 3 :(得分:0)

如果你使用的是较旧版本的Cassandra(特别是在这里谈论1.0.8),请不要使用CQLSH。我正在使用CQLSH并且得到的错误数据与我从cassandra-cli获得的数据不一致。我尝试使用nodetool的修复,清理等,但出现Error connection to remote JMX agent!错误。我也绝对肯定cassandra-cli数据是正确的。

一堆废话......

编辑:

事实证明我在客户端和服务器端使用了不同版本的Cassandra。我认为它会向后兼容,但显然不是。