可以使用Ruby的Cassandra NoSQL数据库吗?

时间:2012-02-21 15:24:00

标签: ruby cassandra

我试图通过安装绑定来为Cassandra数据库使用Ruby绑定:

sudo gem install cassandra

并尝试加载它:

require 'cassandra'

不幸的是,这失败了,错误:

Gem::LoadError: RubyGem version error: thrift_client(0.8.1 not ~> 0.7.0)

我已经通过安装过时的依赖项修复了它:

sudo gem install thrift_client -v "~> 0.7.0"

但之后又出现了另一个错误,我不知道如何修复:

LoadError: no such file to load -- thrift_client/connection

使用Ruby 1.8.7和1.9.3-p0在Ubuntu 11.10和OSX 10.7上进行测试。我是做错了什么,或者Cassandra和Ruby不打算一起工作?

3 个答案:

答案 0 :(得分:3)

github上的最新提交表明他们将很快推出一个新版本。这个可能没有提到的依赖问题。

我创建了一个可以帮助您正确设置项目的要点:https://gist.github.com/1878226

答案 1 :(得分:2)

我和我的团队在使用原始cassandra宝石时遇到了很多问题。 宝石似乎已被开发者抛弃(最后,0.12.1,发布于2011年8月22日)并且与thrift v0.8不兼容。使用thrift v0.7对我们来说不是一个选项,因为你不能在不攻击某些.c文件的情况下在Ubuntu上编译它,所以我们决定使用mcmire-cassandra gem而不是http://rubygems.org/gems/mcmire-cassandra

尽管mcmire在修复原始宝石方面做得非常出色,但就提供的功能而言,cassandra的ruby客户端仍然落后于竞争对手。如果您期望高负载并且需要连接池等功能,例如您可能会考虑使用支持它的Python或Java客户端。

希望这会有所帮助。

答案 2 :(得分:0)

我想知道使用JRuby是否适合您?在这种情况下,您可以将Java客户端用于Cassandra,我希望能够获得更好的支持和更好的结果。