2016-04-25 5 views
0

私は1つのテーブルを使用して格納されたすべてのデータを使用して実行されている単一ノードのCassandraデータベースを持っています。この表では、パーティションキーとクラスタリングキーを使用してデータを分割しています。このテーブルをJavaベースのクライアントを使用してクエリして、各パーティションから並列に読み込むことはできますか?私は、各スレッドが単純なクエリと同時に、単一のカサンドラテーブルを照会します4つのスレッドを開始したい私のクライアントでシングルカサンドラテーブルを並列に読む?

- >「を選択する* COLUMN1 = partitionIDテーブル名から」

私はそれがにはるかに優れて実現Cassandraクラスタを実装しますが、現時点では単一のノードシステムを使用することが不可欠です。

答えて

0

Java Driverを使用して、JavaクライアントからCassandraにアクセスしてください。

Cassandraアーキテクチャごとに、複数のパーティションとパーティションのコピー(レプリカ)を使用して、単一のCassandraテーブルがクラスタ内のノードに分散されます(クラスタ設定は明白です)。クエリの実行時に必要なデータのレプリカへの連絡先は、javaドライバとその構成可能なクラスタポリシーによって処理されます。このチュートリアルdoc、から引用

- 。ノードが読み取りを受け取るか、または別のノードで所有書き、それがクライアントのためにその要求をコーディネートする場合は、「私たちは、そのアクションを制御するための負荷分散ポリシーを使用することができますTokenAwarePolicyを保証します。ことは、要求は、ノードまたは主キーによって示されたデータに責任をレプリカになります。要求がローカルのデータセンターに滞在を確認するためにDCAwareRoundRobinPolicyの周りに巻かれる。 "

はそれに役立つことを願っています!

+0

こんにちはMayank、あなたの答えに感謝します。私は単一のノードシステムを使用することが不可欠です。うまくいけば、これで私を助けることができるかもしれない。私のクライアントの各スレッドからクエリを実行した場合(上記の質問を参照)、私のCassandraテーブルの情報を並列に読み込みますか?私はクラスターで、各パーティションが異なるノード上にあるかもしれないので、実際にこれを行うことができますが、各パーティションが同じ(単一の)ノード上にあるため、単一のノードシステムでできるかどうかはわかりません。 – CrapDeveloper

+0

何もしませんこの状況では、パーティションまたはノードの数を使用します。スレッドが相互にブロックされておらず、JVMのシングル・ラン用の単一のClusterオブジェクトがあることを確認してください。このマルチスレッドの例は、読み込み目的にも変更できます。ここを見てください[https://github.com/zznate/strata-west-2012/blob/master/api-usage/src/main/java/org/ apigee/tutorial/TimeSeriesInserter.java] –

関連する問題