2012-04-27 12 views
2

私は、私のプロジェクトのためにカサンドラを評価しています。数百万行の列ファミリを持つ基本的なカサンドラスキーマデザインの可能性を知りたいと思います。各行の上限は30,000列です。これは分散されたcassandraクラスタ(5-10ノード)の実行可能な設計ですか、それとも何か不足していますか?カサンドラスキーマデザインの実行可能性

また、1つのトランザクションで1つの行からすべての列を取得することの可能性についても知りたいと思います。私がこれをやりたいのは、それらをユーザーに返す前に値で並べ替えることです。

答えて

6

現在、数百万のカラムファミリーは、カッサンドラでは実行可能ではありません。最近のバージョンの上限は何千もある。さらに、記述したデータセット(何百万のcfs、何百万行も)は、最小で1兆行の行を示しています。もちろん、それはクラスタの特性に依存しますが、この行数/データ量には5〜10ノードよりはるかに大きなクラスタが必要です。 Cassandraは非常に大きく、強力なノードに反対する多数の中規模ノードでずっと良いです。

すべての列を一度に取得する場合、デフォルトの最大要求サイズは15MBです。これは変更することができますが、ほぼ確実に変更したくありません。そのような大きな割り当てはJVM上では難しいため、クエリはその最大要求に近づいてはいけません。それは単一のトランザクションにする必要がある理由はありますか?列のすべてを取得し、その時点でソートするには、いくつかの要求の行を簡単にページングできます。

+0

お返事ありがとうございます。私の元の投稿以来、私は数千の列を持つ数百万行の列ファミリに絞っています。最大クエリサイズに関する情報は非常に便利です。サーバーへのラウンドトリップを最小限に抑えるために、できるだけ多くの行を一度に取得したいと考えました。 –

関連する問題