2011-09-16 11 views
3

OrderPreservingPartitionerをYYYYMMDDを表すintのような列ファミリキーで使用すると、書込み時にホットスポットが発生し、ほとんどの負荷がカスケードラリング内のノードの1/2になります。 RandomPartitionerを使用している場合、頻繁に変更されないキー(YYYYMMDDなど)を使用するときは、cassandraが負荷を分散しますか?CassandraのRandomPartitionerを使用する場合のキー選択

要するに、RandomPartitionerは定期的に変更されない小さな離散数のキー値に負荷を分散しますか?

Partirionerの選択は、キースペースまたはクラスタレベルの設定ですか?

注:md5 20110902の場合、59b7841383176e942495550ecc801a9eと表示されます。鍵20110902(つまり、59b7841383176e942495550ecc801a9e)でデータを繰り返しロードすると、59b78413 ....が割り当てられた1つのノードにデータを割り当てるだけでなく、 Cassandraが負荷を分散させるために他に何かありますか

答えて

2

あたりのあるあなたは同じキーを再利用し続ける場合は、[いいえ、RandomPartitionerは、負荷を分散することはできません。これは、異なるノードに異なるキーを割り当てることによって負荷を分散させますが、同じキーの挿入は常に同じノードに移動します。

カッサンドラはレプリケーションファクタを通じて負荷を分散します。たとえば、RF = 3を使用すると、キーが存続できるノードが3つあります。ただし、キー20110902を使用し続けると、毎回同じ3つのノードになります。

短期間の負荷分散はキーレベルで行われます。負荷を分散させるには、別のキーを選択する必要があります。

2

RandomPartitionerを使用している場合、負荷は均等に分散されます。各キーはmd5edになり、md5ハッシュの値によってデータがどこに格納されるかが決定されます。

構成は、クラスタ

+0

もしmd5 20110902なら、あなたは59b7841383176e942495550ecc801a9eとなります。鍵20110902(つまり、59b7841383176e942495550ecc801a9e)でデータを繰り返しロードすると、59b78413 ....が割り当てられた1つのノードにデータを割り当てるだけでなく、負荷を広げるためにカッサンドラがやっていることがありますか –

+3

行はキーで区切られているので、1つの大きな行は反パターンになります。 – jbellis

関連する問題