2012-01-13 10 views
1

私は基準として行キーを使用するいくつかのcassandraクエリを最適化しようとしています。 私の疑問は、cassandraの中の行のキーを比較するプロセスを考えると、その中で最も良いkey_validation_classは何でしょうか?cassandraクエリを最適化する

UTF8TypeのパフォーマンスがInt32Typeより悪いですか? 今、私はUTF8Typeとして私の行キーを作成するためにいくつかの連結値を使用していますが、私は親切ですが、それは悪いアプローチであると恐れています。

ありがとうございます。

答えて

4

key_validation_classは、のキーに対する検証基準を強制するのに便利なヒントです。それを拘束と考えてください。 Cassandraは内部的にバイトのみで動作します。これはパフォーマンスの問題を引き起こす可能性は低いです。

「キー名」のサイズは、合理的な制限内であれば問題ありません(64-128バイトは絶対に正常です)。

UTFまたはInt32を使用する方がよいかどうかは、データを分割して範囲スライスを実行する必要があることが主な原因です。

カサンドラの強みはキーによるルックアップです。最初はキー名を気にしないでください。適切な設計上の決定がうまくいくコラムの設計に、より多くの時間を費やしてください。