5

現在、Cassandra Apache を使用するプロジェクトを開始しています。だから、Java から自分のデータベース cassandra にアクセスすることに興味があります。そのために、私は Hector Cassandra を使用しています。ただし、Hector または JDBC Cassandra (具体的にはこれ: https://code.google.com/a/apache-extras.org/p/cassandra-jdbc/ )を介したアクセスの違いについては疑問があります。

私は次のことを信じています(私が正しいかどうかはわかりませんが):

  • 両方の違いの 1 つは、異なるレベルの API である可能性があります (Hector Cassandra は JDBC Cassandra よりも高レベルの API であると考えています)。

  • JDBCでは、Cassandraはデータベースへのアクセス/変更にCQLを使用しますが、Hector CassandraはCQLを使用しません(そのために提供されたメソッドのみを使用します)。

誰かが私を助けて、前の行で正しいか間違っているか、および両方(HectorとJDBC Cassandra)の違いを教えてくれるとありがたいです。

少し早いですがお礼を!

4

4 に答える 4

4

@モル

新しいプロジェクトを開始する場合、なぜ Hector と cassandra-jdbc に制限するのですか?

他にも多くの興味深い選択肢があります。

于 2013-09-03T19:44:27.173 に答える
2

Hector は確かに高レベルの API です。内部的には、Cassandra の Thrift API を使用して関数を実行します。それらを同等の CQL 呼び出しに変換することはありません。しかし、その APIはCQLへのアクセスも提供します。この場合、CQL を (Thrift 経由で) Cassandra の CQL 用 API に渡します。

Cassandra の CQL は、Cassandra API を介して機能する SQL に似た言語です。そのため、Cassandra を使用する際に API 以外の追加機能を提供することはありませんが、場合によっては使いやすくなります。Hector の使用を検討している場合は、Cassandra に対する高レベルの Java API を採用した新しいAstyanaxも検討します。

于 2013-09-03T18:13:59.167 に答える
1

新しいプロジェクトを開始するため、CQL を Java ネイティブ ドライバーとして開始することをお勧めします。

http://www.datastax.com/documentation/developer/java-driver/1.0/webhelp/index.html#common/drivers/introduction/introArchOverview_c.html

DataStax によると、バイナリ プロトコルを使用しているため、Thrift API よりも 10 ~ 15% 高速です。

于 2013-09-04T12:20:16.413 に答える