Cassandraで非常に長い行(1行あたり数十万〜数百万の列)を持つCFを実装しようとしています。長い行のCassandraのパフォーマンス
完全にダミーのデータを使用して、私は200万の列を1行に均等に配置しました。私が20列を得るためにスライス操作を行うと、さらにスライス操作を行えば大きな性能低下に気づくでしょう。
ほとんどのカラムでは、10-40msでスライス結果を表示することができますが、行の最後に行くとパフォーマンスは壁に当たって、応答時間は43msから徐々に増加します1,800,000点から214,000点に1,900,000点、435msから1,999,900点に! (すべてのスライスの幅は同じです)。
私は、行の最後に到達するとパフォーマンスが大幅に低下する理由を説明することができません。誰かが、カサンドラが内部でやっているような遅れを取るためのガイダンスを提供してもらえますか?行のキャッシングはオフになっています。ほとんどすべてがデフォルトのCassandra 1.0インストールです。
これは、1行につき最大20億の列をサポートできると思われますが、このパフォーマンスの向上率では、実際の状況では非常に長い行には使用できません。
多くのありがとうございます。
私はとにかく期待していたよりも少し遅い理由で、同時に10件のリクエストでこれを打っていますが、すべてのリクエストで公正なテストを行い、 1,800,000と1,900,000の間にこの奇妙な劣化があります。
また、1行につきわずか200,000の列を持つ場合、1つのアイテムに対して逆方向スライスを実行すると、パフォーマンスが非常に悪いことに気付きました。 query.setRange(end、start、false、1);
回答ありがとうpsanford!それが正しい方向に私を導いて、私は今問題の内容を見つけました(下記参照) – agentgonzo
これは現行リリース1.1.7でもまだ当てはまるのですか? – Sisso