2010-07-14 63 views
6

我已经阅读了关于Cassandra是什么以及它能做什么的一些教程,但是我的问题是如何在java中与Cassandra进行交互? (教程将很好:-))在Java中连接和使用Cassandra

如果可能的话,有人可以告诉我是否应该使用Thrift或Hector(哪一个更好,为什么)?

在此先感谢。

PS可以将Hibernate与Cassandra集成吗?

+0

如果你还没有看它,你可以检查出的代码片段(节俭使用的例子): http://stackoverflow.com/questions/3147006/invalidrequestexception-in-cassandra – vlood 2010-07-14 22:34:29

+0

给[赫克托耳] (https://github.com/rantav/hector)试试 – 2011-11-01 23:40:29

+0

这没有帮助。我之前和节俭使用过Hector。谢谢。 – 2011-11-02 06:33:34

回答

12

Hibernate使用JDBC驱动程序连接到关系数据库。 Cassandra是一个基于ColumnFamily的,它是一个关系数据库(分布式的)。

问题是为您的情况找到适当​​的JDBC驱动程序。这是一个项目,我用谷歌搜索:

http://code.google.com/p/sql4d/

这不是目前活跃,但你有如何找到正确的想法。

通过Hibernate进行对象关系映射,您不必担心Cassandra使用的特定方言,而只是享受骑行。嗯,这就是它在理论上听起来的样子。

另一种方法是使用Pelops库来使用Cassandra。更多关于它的信息HERE

Getting started with Cassandra - 这是一个相当短的帖子。

希望你找到你的答案!

+0

对不起,但这并没有帮助我。我想知道什么是适用于Java中的Cassandra的最佳工具/库?另外,如何做读/写/等。奇怪的是,如果我可以将Hibernate与Cassandra集成在一起,但如果不可能的话,我可以选择。 – 2010-07-14 14:27:45

+0

希望我的答案的编辑对你更有用。 – vlood 2010-07-14 22:30:08

+0

谢谢,顺便说一句...我没有给你一个负面的分数。 – 2010-07-15 10:30:24

3

0.8的新功能是CQL(Cassandra查询语言),与传统的RPC接口类似的SQL。语言驱动程序可用于:

的Java(JDBC) 的Python(DBAPI2) 扭曲使用赫克托

http://cassandra.apache.org/download/

http://www.datastax.com/docs/0.8/api/cql_ref

+0

是的,我了解CQL。我在[我的博客](http://theelitegentleman.blogspot.com/2011/08/interfacing-with-apache-cassandra-08-in.html)中展示了如何在Cassandra 0.8.x中使用新的Thrift。 – 2011-08-16 13:45:03

2

Hibernate OGM看起来可能最终会成为答案。