1

Cassandra分散Key-Valueストアを使用している場合は、複数のCassandraノード、つまり複数のコンピューターがあります。もちろん、データはそこにあるだけでなく、Cassandraノードと通信する1つ以上のクライアントプログラムもあります。クライアントによって行われる計算集約的な作業も、複数のコンピューターに分散される場合があります。クライアントとCassandraノードは別々のコンピューターである必要がありますか?CassandraノードおよびCassandraクライアントとして同じコンピューターを使用しても大丈夫ですか?正しく実行するという意味では機能すると思いますが、許容できないパフォーマンスの問題がありますか?

私が見たCassandraのドキュメントでは、Cassandraノードとクライアントを別々のコンピューターにする必要があることを示唆する言葉で話し合っていますが、明示的な推奨事項は見ていません。

なぜ私は尋ねるのですか?なぜ私はそれをしたいのですか?私が考えているアプリケーションでは、クライアントがデータをローカルに保存する必要はありません。すべての永続データにCassandraを使用します。彼らの仕事は計算集約的であるため、ボトルネックはCassandra処理ではなくクライアントCPU処理である可能性があります。また、Cassandraノードとしてそれらを使用しないことは無駄に思えます。

また、各計算(クライアント)ノードがCassandraノードでもある場合は、各ノードのCassandraトークン(Cassandraのデータの配布に使用)を使用して、クライアントの計算を配布できます。

4

1 に答える 1

2

これは、特定のタイプのデプロイメントに有効なセットアップです。人々がこれを行う最も一般的なケースは、Cassandraに対してHadoopジョブを実行する場合です。Cassandra Wikiでは、クラスター内の各ノードで1つのHadoopTaskTrackerを実行することをお勧めします。このタイプの展開は、説明しているものと似ています。

于 2012-07-05T16:31:30.857 に答える