2

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

また、1 つのトランザクションで 1 つの行からすべての列を取得する可能性についても知りたいと思っています。これを行う理由は、それらをユーザーに返す前に値でソートするためです。

4

1 に答える 1

6

現在、何百万もの列ファミリーがcassandraで実行可能ではありません。最近のバージョンの上限は数千のどこかにあります。さらに、説明したデータセット(数百万のcfs x数百万の行)は、最低1兆行を示しています。もちろん、クラスターの詳細によって異なりますが、この行数/データ量には、5〜10ノードよりもはるかに大きなクラスターが必要になります。Cassandraは、非常に大規模で強力なノードではなく、中規模のノードが多数ある方がはるかに優れています。

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

于 2012-05-01T04:39:39.113 に答える