Cassandra分散Key-Valueストアを使用している場合は、複数のCassandraノード、つまり複数のコンピューターがあります。もちろん、データはそこにあるだけでなく、Cassandraノードと通信する1つ以上のクライアントプログラムもあります。クライアントによって行われる計算集約的な作業も、複数のコンピューターに分散される場合があります。クライアントとCassandraノードは別々のコンピューターである必要がありますか?CassandraノードおよびCassandraクライアントとして同じコンピューターを使用しても大丈夫ですか?正しく実行するという意味では機能すると思いますが、許容できないパフォーマンスの問題がありますか?
私が見たCassandraのドキュメントでは、Cassandraノードとクライアントを別々のコンピューターにする必要があることを示唆する言葉で話し合っていますが、明示的な推奨事項は見ていません。
なぜ私は尋ねるのですか?なぜ私はそれをしたいのですか?私が考えているアプリケーションでは、クライアントがデータをローカルに保存する必要はありません。すべての永続データにCassandraを使用します。彼らの仕事は計算集約的であるため、ボトルネックはCassandra処理ではなくクライアントCPU処理である可能性があります。また、Cassandraノードとしてそれらを使用しないことは無駄に思えます。
また、各計算(クライアント)ノードがCassandraノードでもある場合は、各ノードのCassandraトークン(Cassandraのデータの配布に使用)を使用して、クライアントの計算を配布できます。