申し訳ありませんが、あなたの解決策はあなたがcassandraに対して行うことができる最悪のことのようです.
Cassandra 1.2 では VNodes http://www.datastax.com/dev/blog/virtual-nodes-in-cassandra-1-2が導入されました。
これにより、クラスターに新しいノードを挿入して、新しいノードに負担をかけずにグローバル負荷を少し迅速に緩和できるはずです (新しいノードは、起動時に書き込みと読み取りを行う以外にも多くのことを行う必要があることに注意してください)。ニュース ノードの挿入を高速化するには、(Vnode を使用した) トークン リングの初期設定に注意する必要があります。
あなたのアプローチは、手動で分割された MySQL サーバーを使用する企業が行ってきたことと非常によく似ています。手動のシャーディングは、Cassandra のようなシステムで解決しようとする主な問題です。
Cassandra が負荷に対処できない 2 つのケースを見てきました。
クラスター全体が過負荷になっている場合、新しいノードを導入することが唯一の解決策です。この場合、VNode はあなたの味方です。これは主に、アプリの負荷を過小評価したことが原因です。クラスターを大きくするか、インスタンスを大きくするかは、あなたの選択です。
クラスター内に特にハンマーで打たれているノードが 1 つあります。これは、アプリが非常に間違ったことを行っていることを示しており、ハードコードされた 1 つ (または非常に少数) のキーに書き込みを行っています。これにより、すべての読み取りと書き込み (そのキーの) が 1 つのノードに集中し、クラッシュするまで過負荷になり、クラスターの残りの部分がその負荷を引き受けようとします (最悪の場合はすべてがダウンし、最良の場合は大きなエラーが表示されます)。性能が落ちる)。
これに対する解決策は、ハードコーディングされたキーを多くのサブキーにバケット化することです (クラスター全体に確実に収まるように、ハッシュを生成し、nodetools でどこに落ちるかを確認することをお勧めします)。
この最後のケースは、sysops ソリューションでは解決できないため、そのキーを叩いているアプリのコードに戻って修正する必要があります。
ちなみに、最後のケースは、実装するソリューションで正確に起こることです。単一の cassandra インスタンスは、そのサイズ (メモリに関して) と同じくらい優れており、無敵ではありません。cassandra クラスターが (正しく使用された場合) 単一障害点がないという点で非常に優れているという事実が、cassandra が膨大なワークロードを処理するために使用できる理由です。その単一障害点を自分で挿入しないでください。