2010-07-14 51 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看起來可能最終會成爲答案。