1

列ファミリーに最大 2 ~ 3,000 行で、行ごとに 1 億から 2 億 5,000 万に達する列数のデータを格納することを検討しています。複合列を使用してデータをスライスできるようにし、スライスの範囲をプロセス メモリの制限内で処理できる妥当な値に制限します。

1 つの CF には列値がなく、1 億から 2 億 5000 万列の列名だけがあり、他の CF には同じ数の列がありますが、列値ごとに約 20-30kb のデータがあります。

スライスでは、データをスライスするためにすべての列名などをロードする必要はないと思います。

このような多数の列を持つ 5% の行があり、残りは最大 1,500 万から 2,000 万になります。

列ファミリーの行ごとにこのような大量の列を試した人はいますが、パフォーマンスはどうでしたか...

上記が正常に機能する場合、複数の CF を管理する手間が大幅に省けます。

ありがとう

4

1 に答える 1

0

私はあなたが説明したものに近いボリュームのデータに取り組んできました。範囲スライスはそれほど高速ではありませんが、cassandra がより多くの列を返さなければならないオーバーヘッドの原因を除けば、データ サイズを大きくしてもそれほど遅くなることはありません。ただし、クエリを実行する最も速い方法は、クエリするすべてのキーが事前にわかっている場合です。

スーパーカラムを使用しておらず、フラットなデータ構造を持っているため、セットアップにはほとんど欠点がありません。これは、Cassandra が得意とするものです。結局のところ、それはキー値ストアです。

于 2013-06-08T23:01:31.173 に答える