理論的には、Cassandraは、広い行に最大20億列を許可します。
実際には、最大50.000 cols/50MBで問題ないと聞いています。 50.000〜100.000 cols/100 MBで問題ありませんが、調整が必要です。また、1行あたり100.000/100MB列を超えてはなりません。その理由は、これがヒープに圧力をかけるからです。
これにはいくつかの真実がありますか?
Cassandraでは、 1つのパーティションのセル(行x列)の最大数は20億です 。
さらに、単一の列の値は2GBを超えてはなりませんが、実際には、blob値のストリーミングまたはランダムアクセスがないため、「MBの1桁」がより妥当な制限です。
100Mbを超えるパーティションは、ヒープに大きな圧力をかける可能性があります。
cassandra 1.2のテーブルの1つは、新しい書き込みパターンが発生したため、行制限あたり100 MBの列を通過しました。圧縮とキャッシュの両方に大きなプレッシャーがかかりました。ところで、次の行がありました。数百MB。
1つのアプローチは、テーブルを再設計して、幅の広い行をその制限内に保つ、より適切に設計されたテーブルに移行することです。それがオプションでない場合は、cassandraを調整して、圧縮とキャッシュの両方の構成で幅の広い行を効果的に処理できるようにすることをお勧めします。
調整するものへのいくつかの興味深いリンク: